iOS"Request failed: unacceptable content-type: text/html"

Posted 蓝鹰iOS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS"Request failed: unacceptable content-type: text/html"相关的知识,希望对你有一定的参考价值。

以前用的好端端的接口,今天访问居然出错了,但是再用浏览器测试,发现可以正常返回数据,甚是奇怪啊。

下面是错误信息:

获取服务器响应出错 error=Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo=0x7fdfd8729680 {com.alamofire.serialization.response.error.response= { URL: http://172.16.1.31:7001/itom/getwork } { status code: 200, headers {

    "Cache-Control" = "no-cache";

    "Content-Type" = "text/html;charset=UTF-8";

    Date = "Mon, 24 Nov 2014 03:13:16 GMT";

    "Transfer-Encoding" = Identity;

    "X-Powered-By" = "Servlet/2.5 JSP/2.1";

} }, NSErrorFailingURLKey=http://172.16.1.31:7001/itom/getwork, com.alamofire.serialization.response.error.data=<5b7b2273 74617475 73223a22 73756363 65737322 2c226d73 67223a22 e799bbe9 9986e688 90e58a9f 227d5d>, NSLocalizedDescription=Request failed: unacceptable content-type: text/html}


下面是百度出来的答案:

I also encountered the same problem. This means that your server is sending "text/html" instead of the already supported types. After a little search, my solution was to add "text/html" to acceptableContentTypes set in AFURLResponseSerialization class. Just search for "acceptableContentTypes" and add @"text/html" to the set manually. Of course, the ideal solution will be to change the tpe from the server, but for that you will hade to talk with the server team.

I hope this helps you. Best regards and less bugs as possible in the code.

 op.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html”];

 

对应到自己的项目里面,我用的是AFNetworking这套网络请求包,需要改的是:

AFURLResponseSerialization.m文件

223行:

self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil];

加上蓝色部分,其实就是添加一种服务器返回的数据格式。

以上是关于iOS"Request failed: unacceptable content-type: text/html"的主要内容,如果未能解决你的问题,请参考以下文章

React-Native Android APK release版本网络错误:Network request failed

第141篇:微信小程序wx.request接口报错(errno: 600001, errMsg: "request:fail -2:net::ERR_FAILED")

"CSRF verification failed. Request aborted"问题解决

AFNetworking 遇到错误 Code=-1016 "Request failed: unacceptable content-type: text/plain"

Filtered request failed with root cause java io OptionalD

微信小程序,错误{"errMsg":"request:fail 小程序要求的 TLS 版本必须大于等于 1.2"}