iOS 无法执行 HTTP GET 请求 -Error Domain=NSURLErrorDomain Code=-1012 [英] iOS Can't perform HTTP GET request -Error Domain=NSURLErrorDomain Code=-1012
问题描述
我正在尝试执行 HTTP Get 请求,但我不断收到 Error Domain=NSURLErrorDomain Code=-1012 错误.我的代码是:
I am trying to perform a HTTP Get request, but I keep on getting Error Domain=NSURLErrorDomain Code=-1012 error. MY code is :
@try {
NSString *url = [[NSString alloc] initWithFormat:@"%@%@", @"http://api.mintchat.com/agent/chats/", agentSecret];
NSLog(@"******Agents Active List URL Str - %@", url);
NSURL *nsUrl = [NSURL URLWithString:url];
NSLog(@"******Agents Active List URL - %@", nsUrl);
// Make the request, returning a JSON response, just as a plain old string.
//NSData *jsonDataString = [[NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error: nil] dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:nsUrl];
[request setHTTPMethod:@"GET"];
[request setValue:API_ID forHTTPHeaderField:@"X-API-ID"];
[request setValue:API_SECRET forHTTPHeaderField:@"X-API-SECRET"];
NSHTTPURLResponse *response = nil;
NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"Response Code %d", [response statusCode]);
if ([response statusCode] >= 200 && [response statusCode] < 300) {
NSString *responseData = [ [NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData);
} else {
if (error)
NSLog(@"ERror : %@", error);
}
}@catch(NSException *e) {
NSLog(@"Exception - %@", e);
}
我要在 JSon 中得到响应,但由于事情不正常,所以我们正在尝试一些正常的响应.我确认将标题添加到请求中.我需要将这两个值添加到标题中.网址也正确.
I am to get response in JSon, but as things are not working so we are trying with some normal response. I confirmed the Headers to be added to the request. I need to add the both values to the headers. The url is also proper.
我得到的结果/日志是:响应代码 0
The results/logs I get is : Response Code 0
错误:错误域=NSURLErrorDomain 代码=-1012操作无法完成.(NSURLErrorDomain 错误 -1012.)" UserInfo=0x8abf470 {NSErrorFailingURLKey=.......NSErrorFailingURLStringKey=......NSUnderlyingError=0x8dafed0 操作无法完成.(kCFErrorDomainCFNetwork 错误 -1012.)"}
Error : Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x8abf470 { NSErrorFailingURLKey=.......NSErrorFailingURLStringKey=......NSUnderlyingError=0x8dafed0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)" }
我也在 net reg 这个错误上搜索了很多,没有得到任何实质性的帮助.我还确认了对 Web 服务器 api 的访问.对于其他网址,我也得到相同的结果.从 3 个 url,我可以使用 POST 获得第 1 个 url 的结果,但其他 2 个 url 无法通过它.
I also searched a lot on net reg this error, bit couldn't get any substantial help. I also confirmed regarding access to the web server api. With other url also I get the same results. From 3 urls, I could achieve results of 1st url using POST, but those other 2 urls - just could't get thru it.
谁能帮我解决这个问题.哪里出错了?为什么不能访问api的.任何帮助都受到高度赞赏.谢谢
Can anyone please help me with this problem. Where am going wrong ? Why can't access the api's. Any help is highly appreciated. Thanks
推荐答案
这个错误是NSURLErrorUserCancelledAuthentication
异步认证请求取消时返回由用户.这通常是通过单击取消"按钮引起的在用户名/密码对话框中,而不是用户尝试进行身份验证.
Returned when an asynchronous request for authentication is cancelled by the user. This is typically incurred by clicking a "Cancel" button in a username/password dialog, rather than the user making an attempt to authenticate.
这意味着您需要身份验证才能访问您尝试访问的资源,而无需正确签署您的请求(错误的 agentSecret 或 API_ID 或 API_SECRET)
It means you need authentication to access the resource which you are trying to access w/o signing your request properly (wrong agentSecret or API_ID or API_SECRET)
这篇关于iOS 无法执行 HTTP GET 请求 -Error Domain=NSURLErrorDomain Code=-1012的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!