AFNetworking说"无法解析响应"

gal*_*ize 6 afnetworking ios8

我正在向服务器发送请求,该服务器正在处理请求和响应.但是在我的应用程序上,我收到:

Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response" UserInfo=0x167668d0     
{NSErrorFailingURLStringKey=https://***, _kCFStreamErrorCodeKey=-1, 
NSErrorFailingURLKey=https://***/, NSLocalizedDescription=cannot
parse response, _kCFStreamErrorDomainKey=4, NSUnderlyingError=0x16731990 "cannot parse
response"
Run Code Online (Sandbox Code Playgroud)

http请求中的Accept字段就足够了.

我甚至无法看到messege到达了什么,因为NSHTTPURLResponse对象为null.

什么是一个问题,以什么方式我可以看到什么消息不会使用wireshark之​​类的东西.

谢谢!

小智 8

我遇到了同样的问题,原因是API需要GET http方法,我需要传递一个参数,我通过以下代码发送它:

[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

当我使用GET方法执行请求时,它将报告错误.

我的解决方案是当API需要GET方法时,参数应该添加在URL上,例如http://apiserver/api?paramName=paramValue,当API方法是POST时,然后使用上面的代码,为请求对象设置HTTPBody.


gal*_*ize 5

如果 iOS 无法解析响应,问题一定是来自服务器的 http 响应格式不正确,即使你说,一切都是 100% 正确的,因为其他服务与其通信。

在我的例子中,Android 应用程序通信成功,因为使用的网络框架没有那么严格,即使 http 响应的内容长度不适合数据的实际长度,它也可以读取此消息,与 ios 不同。

使用tcpdump检查http通信!