iOS 无法执行 HTTP GET 请求 -Error Domain=NSURLErrorDomain Code=-1012 [英] iOS Can't perform HTTP GET request -Error Domain=NSURLErrorDomain Code=-1012

查看:42
本文介绍了iOS 无法执行 HTTP GET 请求 -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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆