Ios8 阿福说:";无法分析响应";
我正在向服务器发送一个请求,服务器正在处理请求并响应。但是,在我的应用程序中,我收到:Ios8 阿福说:";无法分析响应";,ios8,afnetworking,Ios8,Afnetworking,我正在向服务器发送一个请求,服务器正在处理请求并响应。但是,在我的应用程序中,我收到: Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response" UserInfo=0x167668d0 {NSErrorFailingURLStringKey=https://***, _kCFStreamErrorCodeKey=-1, NSErrorFailingURLKey=https://***/, NSLocalizedD
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"
http请求中的Accept字段已足够
我甚至看不到messege到达的是什么,因为NSHTTPURLResponse对象为null
不使用wireshark之类的工具,会有什么问题,我能以什么方式看到什么信息
谢谢大家! 如果iOS无法解析响应,那么问题一定是来自服务器的http响应格式不正确,即使您被告知一切都是100%正确的,因为其他服务会与之通信 在我的例子中,一个Android应用程序通信成功,因为那里使用的网络框架没有那么严格,即使http响应的内容长度与数据的实际长度不匹配,它也可以读取此消息,这与ios不同 使用tcpdump检查http通信 如果您正在使用(iOS8对此有问题,但在iOS7中工作) 要发送到服务器,请按照以下步骤进行:
NSData *dataToSend = [jsonData dataUsingEncoding:NSUTF8StringEncoding]
当我尝试使用HTTPGET方法而不是HTTPPOST调用web方法时,我遇到了同样的问题。web服务方法期望POST请求无法获取。希望这些信息能对某些人有所帮助。首先,我要确保您在正文和标题中都发送了正确的参数。我收到了这个错误,在将其中一个参数从主体移动到头部之后,我收到了正确的响应
如果有任何关于api的文档,请确保正确地遵循它 我看到这个错误是因为我使用的一个框架试图在一个JSON编码的主体内的GET请求中发送URL参数(而不是在URL字符串中作为URL编码的参数)。这导致服务器发回“无效参数消息”,客户端无法处理该消息,而是中止了mid请求。从主体参数切换到GET请求的URL编码参数修复了这个问题。我也遇到了同样的问题,原因是API需要GEThttp方法,我需要传递一个参数,我通过以下代码发送它:
[request setHTTPBody:[postString数据使用编码:NSUTF8StringEncoding]代码>
当我使用GET方法执行请求时,它将报告错误
我的解决方案是,当API需要GET方法时,参数应该添加到URL上,例如http://apiserver/api?paramName=paramValue
,当API方法为POST时,使用上面的代码,为请求对象设置HTTPBody。我也有同样的错误。在我的例子中,没有在请求对象上指定http方法。这是我的问题。我使用AlamoFire进行http请求。我面临同样的问题,解决方案是什么
NSData *dataToSend = [jsonData dataUsingEncoding:NSUTF8StringEncoding]