【发布时间】:2015-01-18 19:40:34
【问题描述】:
有谁知道如何发送带有 url 请求的 If Modified Since 标头?
我正在尝试获取一个状态码,它会告诉我 RSS 页面是否已更新。
更新#1: 我能够进行以下测试:
NSURL *url = [NSURL URLWithString:self.url];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request addValue:@"Tue, 18 Nov 2014 20:46:46 GMT" forHTTPHeaderField:@"If-Modified-Since"];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
int responseCode = (int)[httpResponse statusCode];
NSLog(@"All headers: %@", [httpResponse allHeaderFields]);
NSLog(@"Status code:: %d", responseCode);
}];
但奇怪的是,如果我删除整个 iOS 应用程序并运行它,我会得到 304 状态代码。但是,如果我注释掉添加 If-Modified-Since 值的行并重新运行它 - 然后我得到 200 但是当我取消注释该行并重新运行它时 - 然后 304 错误不会回来......这是一个200错误代码。恢复 304 错误的唯一方法是从我的 iPhone 设备上删除整个应用程序。
有什么想法吗?
【问题讨论】:
标签: ios objective-c rss http-headers if-modified-since