【发布时间】:2017-12-10 07:31:59
【问题描述】:
********************** 更新 ********** ************
经过初步分析,我发现带有 https 的网站无法在 iPhone、iPad 或 iPod 中打开,如果我尝试仅使用 http 从应用程序访问该网站,我就可以加载 JSON。
似乎问题在于 HTTPS,我能够从 HTTP URL 获取数据
简单
HTTPS://www.xzzx.xzzx.com/app/zxzx/zx.php/zx_xz
----> 没有反应HTTP://www.xzzx.xzzx.com/app/zxzx/zx.php/zx_xz,
----> 有效的 JSON
我交叉检查了 api,因为我的请求正在后端发送并生成有效的 JSON
我通过在 api 文件中添加一个邮件函数来完成这一切应用中收到的任何类型的错误或无效内容。
********************** 原始问题 ********* *************
我们的网站已迁移到新服务器。现在以前的工作网络服务在 iOS 中无法正常工作,但在 POSTMAN 中工作正常。以下是我的实现
NSURL *url = [NSURL URLWithString:urlWithAction];
NSDictionary *headers = @{ @"content-type": @"application/x-www-form-urlencoded",
@"cache-control": @"no-cache",
@"web-token": @"eb7524958-aghf-31fd8-00e4-e887df00035c"};
NSString *parmetersToPost=[NSString stringWithFormat:@"%@%@",postDataStr,appCommonParamters ];
NSMutableData *postData = [[NSMutableData alloc] initWithData:[parmetersToPost dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:3000.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
[[manager dataTaskWithRequest:request completionHandler:responseBlock] resume];
我收到以下错误
2017-07-06 15:20:45.538 DE[4013:1659696] 错误 Domain=NSURLErrorDomain Code=-1017 "无法解析响应" UserInfo={NSErrorFailingURLStringKey=https://www.xzzx.xzzx.com/app/zxzx/zx.php/zx_xz, _kCFStreamErrorCodeKey=-1, NSErrorFailingURLKey=https://www.xzzx.xzzx.com/app/zxzx/zx.php/zx_xz, NSLocalizedDescription=无法解析响应, _kCFStreamErrorDomainKey=4, NSUnderlyingError=0x19266180 {错误域=kCFErrorDomainCFNetwork 代码=-1017 "(null)" UserInfo={_kCFStreamErrorDomainKey=4, NSErrorPeerAddressKey={length = 16, capacity = 16, bytes = 0x100201bb4834d0520000000000000000},_kCFStreamErrorCodeKey=-1}}}
如果我尝试检查邮递员响应显示的 web 服务响应,我该如何解决这个问题。
在 Postman 中,有代码部分可以发出 web 请求。我尝试使用 postmen 代码,但没有运气,仍然遇到同样的错误。
【问题讨论】:
标签: ios http https afnetworking nsurlsession