我正在尝试在我使用AFNetworking发送的GET请求中实现etag缓存,但我似乎找不到具有AFNetworking REST API~AND缓存的解决方案。需要示例代码,说明如何发送GET / POST并控制缓存。我现在所拥有的只是请求,而不是缓存:
NSString *path = @"path/to/my.json";
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:self.baseNSURL];
[client registerHTTPOperationClass:[AFJSONRequestOperation class]];
[client setDefaultHeader:@"Accept" value:@"application/json"];
[client getPath:path
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@",responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",error);
}
];
和传出的HEADER(无缓存控制):
获取路径/到/ my.json HTTP / 1.1 主持人:x.y.com:80 Accept-Encoding:gzip,deflate 接受:application / json Cookie:PHPSESSID = 35gojgf7s35n8fljlvd5pjudfn0 连接:保持活力 Accept-Language:en,fr,de,ja,nl,it,es,pt,pt-PT,da,fi,nb,sv,ko,zh-Hans,zh-Hant,ru,pl,tr,uk, ar,hr,cs,el,he,ro,sk,th,id,ms,en-GB,ca,hu,vi,en-us; q = 0.8 User-Agent:myApp / 1.0(iPhone模拟器; iOS 6.1; Scale / 1.00) X-Forwarded-For:192.130.1.00
答案 0 :(得分:0)
AFNetworking只遵循NSURLRequest / NSURLCache规则。因此,您需要添加缓存控制标头以便以这种方式缓存到磁盘。如果您想要更多地手动控制磁盘缓存,也可以使用(或修改)SDURLCache。