我在从服务器下载xml文件时面临一个奇怪的问题。
我正在尝试使用以下代码获取schedulist.xml,
- (void) downloadXml:(NSString*)url {
_urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
[_urlRequest setHTTPMethod:@"GET"];
if(_urlConnection !=NULL)
return NO;
_urlConnection = [[NSURLConnection alloc] initWithRequest:_urlRequest delegate:self startImmediately:YES];
}
问题是,
didReceiveResponse,didReceiveData and connectionDidFinishLoading.
仅供参考,我删除了旧的响应数据。但问题是,如果我使用[_urlRequest setHTTPMethod:@"POST"];
它工作正常,这是
didFailWithError
被称为可能是什么问题?
答案 0 :(得分:2)
默认情况下,NSURLRequest
使用协议数据来决定是否缓存请求
例如,如果响应头(RFC2616)中存在“Cache-control”或“Expires”指令,则它们的值将用于确定是否可以按原样使用缓存响应。
通常只会缓存GET请求,这就是您didFailWithError
请求获得POST
的原因。
为避免缓存,您可以修改服务器上的标头,或将cachePolicy
的{{1}}属性设置为NSURLRequest