我刚刚开始 ios 开发,我正在尝试与我的 api 交换数据。当我执行 POST 请求时,一切正常,但当我尝试执行 GET 请求时,出现以下错误:
错误域=NSURLErrorDomain代码=-1017“该操作无法
完全的。 (NSURLErrorDomain 错误-1017。)” UserInfo=0x145a2c00
{NSErrorFailingURLStringKey=http://myAPI.com/ http://myAPI.com/,
_kCFStreamErrorCodeKey=-1,NSErrorFailingURLKey=http://myAPI.com http://myAPI.com,
_kCFStreamErrorDomainKey = 4,NSUnderlyingError = 0x145b21d0“操作无法完成。(kCFErrorDomainCFNetwork错误
-1017。)”}
有人可以解释一下出了什么问题以及我该如何解决它吗?
我的请求:
-(void)hitApiWithURL:(NSString*)url HTTPMethod:(NSString*)HTTPMethod params:(NSDictionary*)params successBlock:(successTypeBlock)success failureBlock:(errorTypeBlock)failure{
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
[sessionConfig setHTTPAdditionalHeaders:@{@"Content-type": @"application/json"}];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setHTTPMethod:HTTPMethod];
// The body
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:params options:0 error:&error];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *dataTaks = [session dataTaskWithRequest:request];
[dataTaks resume];
NSLog(@"dataTask started");
}
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
didCompleteWithError:(NSError *)error {
if (error) {
//Gives my error
}
else {
// do something:
}
}
如果您忘记提及 HTTPMethod,也可能会发生错误,我遇到了问题“NSURLErrorDomain Code=-1017”,不知何故我忘记添加行“request.HTTPMethod =”POST”。
添加该行后,我的代码完美运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)