Error Domain=NSURLErrorDomain Code=-1002 "不支持的 URL" UserInfo={NSUnderlyingError=0x17425f4a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}, NSErrorFailingURLStringKey=/wuliApi/user/login, NSErrorFailingURLKey=/wuliApi/user/login, NSLocalizedDescription=不支持的 URL}
由于项目提供了两个测试环境,之前两个都能正常使用,后来有一个不能用了,项目中使用AFNetworking作为网络请求框架,报以上错误。
网上找了一轮资料,有人说是证书问题,有人说是url编码格式问题。首先,我用的是HTTP不是HTTPS,排除是证书问题。把URL编码格式改为utf-8,如下:
#define xBaseUrl @"h�ttp://*****"
NSString *baseUrl = nil;
if (SYSTEM_VERSION <= 9.0) {
baseUrl = [xBaseUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}else{
baseUrl = [xBaseUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"`#%^{}\"[]|\\<>"].invertedSet];
}
这无济于事。
后来用抓包工具Charles看了下,Content-Type为空:
而正常的那个不为空:
问了下后台,这个是他们由决定的,所以是后台的锅。