iOS网络请求的一个小坑

  • 需求
    在网络资源里直接放入一个json文件,直接用AFN请求。


  • 第一次请求成功,之后无限412错误。过一段时间可以成功请求到数据一次,继续无限412。

  • 解决方式
    google了一会,了解了一下412错误,推测是由于网络缓存机制引起的。
    AFHTTPRequestSerializer里有个属性cachePolicy

@property (nonatomic, assign) NSURLRequestCachePolicy cachePolicy;
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    NSURLRequestUseProtocolCachePolicy = 0,

    NSURLRequestReloadIgnoringLocalCacheData = 1,
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,

    NSURLRequestReturnCacheDataElseLoad = 2,
    NSURLRequestReturnCacheDataDontLoad = 3,

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};

设置为NSURLRequestReloadIgnoringLocalAndRemoteCacheData,解决!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在移动互联网时代,有大量的静态资源需要在移动客户端进行展示,这些静态资源占据了客户端的主要网络流量。iOS系统针对...
    飞到哪阅读 7,382评论 0 14
  • iOS~URLCache探索 一个随时需要进行HTTP请求的完善的iOS应用,为了流畅的体验,用户流量的节省,缓存...
    难却却阅读 794评论 0 0
  • 同步请求可以从因特网请求数据, 一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成, 才可以进行下一步操...
    小灬博阅读 913评论 2 4
  • 前几天有朋友问到关于AFNetworking的缓存策略,当时想了想,自己有一点的理解,但是不知道该如何回答,毕竟平...
    雪上踏痕阅读 17,785评论 0 22
  • 万物都将面临挫折,但这所谓挫折,也未必全是坏事。 未必是人对一些客观事物的另一角度分析的方法,人们总说科技是一把双...
    梦幻LL阅读 529评论 4 0