用于ios8的HEAD请求的AFNetworking内容类型

时间:2014-10-14 14:11:05

标签: ios afnetworking

我对具有If-modified-since HTTP标头的某个图像有HEAD请求,以检查图像是否实际被修改。如果修改,那么我只是发送此图像的GET请求。 它曾经适用于iOS 7,现在适用于iOS 7.但对于iOS 8,我得到了

Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: image/png" 

所以相同的代码适用于ios7和ios8-不适用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

首先,您无需提出HEAD请求。适当的NSURLRequestCachePolicy可以完成同样的事情。

其次,错误是由响应序列化程序的响应发送的不可接受的内容类型引起的。对于image/png,请使用AFImageResponseSerializer,或为您选择的响应序列化程序设置相应的acceptableContentTypes属性。

答案 1 :(得分:0)

感谢Matt展示道路。我删除了HEAD请求。现在我使用AFHTTPRequestOperation和AFImageResponseSerializer。我还使用setValue:forHTTPHeaderField方法在NSMutableURLRequest中设置'If-Modified-Since'标头。此日期存储在userdefaults中,其中key是URL,value是修改此URL的日期。

我确信应该有更好的方法,例如使用NSURLCache,但我无法做到。