【问题标题】:AlamoFire Ignore Cache-Control HeadersAlamoFire 忽略缓存控制标头
【发布时间】:2015-10-01 17:51:28
【问题描述】:

在使用 AlamoFire 执行请求/处理响应时是否可以忽略 cache-control 标头?

目前我正在发出如下请求,并且服务器返回较大的cache-control 标头,而实际上我们需要忽略它们。

Alamofire.request(.GET, url).responseJSON { (_, _, result) in // Do something

我知道正确的解决方案是修改服务器响应,但目前不可行。

此外,我确实希望在其他请求中尊重 cache-control 标头,因此理想情况下,我会提供一个不涉及更改 AlamoFire 全局配置的解决方案。

【问题讨论】:

    标签: alamofire


    【解决方案1】:

    要忽略缓存的数据,需要在使用Alamofire启动之前在NSURLRequest上设置cachePolicy

    let URL = NSURL(string: "https://my_url_path...")!
    let URLRequest = NSMutableURLRequest(URL: URL)
    URLRequest.cachePolicy = .ReloadIgnoringCacheData
    
    Alamofire.request(URLRequest)
        .response { response in
            print(response)
        }
    

    在 URL 请求上设置 cachePolicy 始终会覆盖在 NSURLSessionConfiguration 上设置的值。

    默认情况下,NSURLSessionConfiguration 缓存策略设置为 .UseProtocolCachePolicy,这将遵循 Cache-Control 标头值。

    【讨论】:

      猜你喜欢
      • 2019-12-01
      • 2011-04-06
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      • 2011-01-13
      • 2017-03-23
      • 1970-01-01
      • 2020-01-06
      相关资源
      最近更新 更多