**Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7fd3cd80a580> { 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这个参数置空,才发现这个问题。
外包伤不起啊!!!!赶紧脱离苦海,麻蛋 不想干了。浪费几天时间!!!