代码=-1011 “请求失败:未经授权 (401)” AFNetoking

Posted

技术标签:

【中文标题】代码=-1011 “请求失败:未经授权 (401)” AFNetoking【英文标题】:Code=-1011 "Request failed: unauthorized (401)" AFNetwoking 【发布时间】:2015-07-21 19:54:17 【问题描述】:

我正在尝试发出一个 GET 请求,并设置一个名为

的标头

X-用户授权 但我收到以下错误:

代码=-1011“请求失败:未授权 (401)”AFNetwoking

 -(void) listarGruposDeDistancia
    
        NSMutableArray *listaDistancias = [[NSMutableArray alloc]init];
        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        manager.requestSerializer = [AFHTTPRequestSerializer serializer];
        manager.requestSerializer.allowsCellularAccess = YES;
        [manager.requestSerializer setValue:@"valueHere" forHTTPHeaderField:@"X-User-Authorization"];

       AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
        policy.allowInvalidCertificates = YES;
        manager.securityPolicy = policy;

        NSString *url = @"https://url:3000/api/v0.1/groups/";

        [manager GET:url
          parameters:nil
             success:^(AFHTTPRequestOperation *operation, id responseObject) 

                NSLog(@“success”);
                 
                 [self concluirListaDistancias:listaDistancias];

              failure:^(AFHTTPRequestOperation *operation, NSError *error) 
                 NSLog(@"Error: %@", error);
             ];
    

【问题讨论】:

【参考方案1】:

您肯定会从服务器返回 401 - 这意味着您没有根据服务器的要求构建适当的 HTTP 请求和身份验证。查看(服务提供商或在您的情况下似乎是本地打包产品)的文档,然后使用 curl 和 postman 等工具构建适当的 HTTP 请求。如果您确信原始请求按预期工作,请使用 requestb.in 之类的内容来测试您的 AFNetworking 请求。

不管怎样,X-User-Authorization 不是预配置的授权标头(X- 前缀意味着它是自定义标头属性)。也许您正在寻找更像Authorization: Bearer <token> 的东西?

【讨论】:

OK - 然后在 Postman 中针对 requestbin 进行相同的 API 调用,然后使用 AFNetworking 进行另一个调用。比较请求并查看您需要对 AFNetworking 请求执行哪些操作来修复它。 requestbin 接受任何 HTTP 请求 - 去那里并生成一个存储桶。交换 Postman 和您的应用项目中的 URL,然后将它们发送到那里。 如果您的端点在 Internet 上(不是本地),您也可以使用 Runscope。这是一个文档,其中包含有关如何将 Runscope URL 与 AFNetworking 一起使用的具体说明——一个捕获所有请求和响应数据的即时代理,因此您可以查看客户端请求的外观以及从目标 API 返回的相应响应。 runscope.com/docs/code-examples/ios 不同之处在于,在 iOS 中服务器返回 status code: 401, ` "Www-Authenticate" = "Basic realm=\"Restricted\""; ` 在标题中......但我不知道为什么 不要看服务器的响应——你需要比较工作和不工作的 request 并向后工作。

以上是关于代码=-1011 “请求失败:未经授权 (401)” AFNetoking的主要内容,如果未能解决你的问题,请参考以下文章

错误代码 -1011,状态代码为 401

AFNetworking 和身份验证令牌错误代码 -1011

AFNetworking POST 请求失败代码=-1011 (400)

参考代码1011-1020

Pinterest IOS SDK getBoardPins 响应代码=-1011“请求失败:错误请求 (400)”

AFNetworkingErrorDomainCode 1011