Code=-1011 "Request failed: not found (404)"

**Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" UserInfo={com.alamofire.serialization.response.error.response= { URL: http://XXX.com?api=23&p=w-ios-440x480&v=1.54 } { status code: 404, headers {**
**    "Cache-Control" = "no-cache";**
**    Connection = close;**
**    "Content-Encoding" = gzip;**
**    "Content-Type" = "text/html;charset=UTF-8";**
**    Date = "Thu, 28 Jul 2016 02:54:59 GMT";**
**    Server = nginx;**
**    "Set-Cookie" = "JSESSIONID=4103E0884A022BBFE25C2632A01F089B; Path=/shanshow_web/; HttpOnly, BIGipServerpool_yt_caiyinapp_app_80=rd1o00000000000000000000ffff0a305405o80; path=/";**
**    "Transfer-Encoding" = Identity;**
**    Vary = "Accept-Encoding";**
**    "X-Notify" = "Software-Update";**
**} }, NSErrorFailingURLKey=http://218.207.208.46/shanshow_web/cmnres/welcome?api=23&p=w-ios-440x480&v=1.54, com.alamofire.serialization.response.error.data=**

之前好好的,突然报这个错误,而且一次成功、一次失败!!

网上查了半天 没有好的解决办法,继续查,先mark下。

问题解决:
服务端请求数据是会带下来一个ETag参数,客户端下次请求会默认把这个参数修改为:If-None-Match上传到服务端,服务端升级了tomcat 7.0 有什么新特性 导致这个问题。

客户端的解决方式:(使用AF)

   [manager.requestSerializer setValue:@"" forHTTPHeaderField:@"If-None-Match"];

郁闷的是,十分想吐槽下服务端,服务器返回了404错误,你让客户端去查什么问题,不是搞笑吗?而且理由是自己测试没问题、安卓测试没问题,艹,那就只开放安卓版本了呗!

最后还要自己去抓包,去对参数有什么不一样,就发现安卓每次传的时间都会把If-None-Match这个参数置空,才发现这个问题。

外包伤不起啊!!!!赶紧脱离苦海,麻蛋 不想干了。浪费几天时间!!!

你可能感兴趣的:(Code=-1011 "Request failed: not found (404)")