我已经在这个问题上工作了几个小时,但我无法弄清楚。
我的服务器创建了一个 WSDL 文件,用户可以使用新功能对其进行更新,并且 WSDL 文件将更新以反映这些更改。我正在使用AFHTTPRequestOperation
withGET
来获取该文件,以便检查文件中存在哪些函数。
出于某种原因,在用户更新文件并重新生成它之后,AFHTTPRequestOperation
仍然看到旧版本(缓存?),但是如果我在浏览器中查看相同的 URL,而不是登录到我的网站或任何东西,它会显示新版本的文件。即使尝试wget
抓住新副本。
我确保NSURLRequestReloadIgnoringLocalAndRemoteCacheData
在我的身上使用,NSMutableURLRequest
但这似乎并不重要:
// Setup the connection
NSString *wsdlURL = [NSString stringWithFormat:@"%@?WSDL", site.soapURL];
NSURL *serviceUrl = [NSURL URLWithString:wsdlURL];
NSMutableURLRequest *serviceRequest2 = [NSMutableURLRequest requestWithURL:serviceUrl cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60.0];
[serviceRequest2 setHTTPMethod:@"GET"];
// Create the operation
AFHTTPRequestOperation *operation2 = [[AFHTTPRequestOperation alloc] initWithRequest:serviceRequest2];
[operation2 setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation2, id responseObject2) {
// Convert data to string
NSString *wsdlStr = [[NSString alloc] initWithData:(NSData *)responseObject2 encoding:NSUTF8StringEncoding];
} failure:^(AFHTTPRequestOperation *operation2, NSError *error) {
failure(error);
}];
[operation2 start];
有谁知道为什么它会得到文件的旧副本?浏览器显示新的?