AFNetworking发送带有请求的标头

Alsh编译器

我一直在寻找了几个小时,发现答案像这样:但是当我发送的授权是这样的:

    AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];
        manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
        manager.requestSerializer = [AFJSONRequestSerializer serializer];
        //header = [header stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];

        //[manager.requestSerializer setValue:@"text/json" forHTTPHeaderField:@"Accept"];
        //[manager.requestSerializer setValue:@"text/json" forHTTPHeaderField:@"Content-Type"];
        [manager.requestSerializer setValue:header forHTTPHeaderField:@"Authorization"];
        /*
        NSLog(@"headers: %@",manager.requestSerializer.HTTPRequestHeaders);
        this printed : {
            "Accept-Language" = "en;q=1";
            Authorization =  "Bearer eyJ0eXAiO";
            "User-Agent" = "Virtuocity/1.0 (iPhone; iOS 10.2; Scale/2.00)";
        }
        */
        [manager GET:url parameters:dic progress:^(NSProgress * _Nonnull downloadProgress) {
        } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            block(responseObject,nil);
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            block(nil,error);
        }];

但是服务器给我以下错误:

serialization.response Code=-1011 "Request failed: unauthorized (401)  headers {
    "Access-Control-Allow-Headers" = "accept, accept-language, content-type, accept, authorization, moduleid, tabid, x-dnn-moniker";
    "Access-Control-Allow-Methods" = "GET, POST, PUT, HEAD, OPTIONS";
    "Access-Control-Allow-Origin" = "*";
    "Cache-Control" = "no-cache";
    "Content-Length" = 61;
    "Content-Type" = "text/json; charset=utf-8";
    Date = "Sun, 29 Jan 2017 10:18:36 GMT";
    Expires = "-1";
    Pragma = "no-cache";
    "Set-Cookie" = "dnn_IsMobile=False; path=/; HttpOnly, dnn_IsMobile=False; path=/; HttpOnly, language=en-US; path=/; HttpOnly";
}

我观察到错误返回的标头不包含我发送给他们的'Authorization'标头,并且我怀疑这是因为标头中发送了空白,所以我不知道出了什么问题,我尝试了相同的方法在POST MAN上提出要求,并且运行良好,现在该怎么办?

Alsh编译器

我发现AFNetworking默认情况下会发送某种cookie,而我正在处理的api不会检查是否有cookie进行授权检查,因此我禁用了使用此行发送cookie并起作用了^ __ ^

[manager.requestSerializer setHTTPShouldHandleCookies:NO];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何发送带有请求的HTTP / 2伪标头?

如何在Swagger UI中发送带有请求的自定义标头?

如何使用uget发送一些带有请求的标头?

带有请求标头和正文的Alamofire POST请求

在vbscript中带有请求标头和有效负载的POST CURL

发送带有标头的HTTP GET请求

无法使用 axios 发送带有标头的获取请求

发送带有对象标签的HTTP请求标头

Ruby-发送带有标头的GET请求

如何发送带有标头参数的HTTP请求?

Python,发送带有标头和 cookie 的请求

在beautifulsoup 上带有请求标头的剪贴画

使带有请求标头和正文的HttpClient Request Visual C#

如何在Swagger UI中发送带有请求的授权标头?

springframework获取所有请求标头

将标头添加到所有请求

所有请求的Node.js静态标头

UnityWebRequest如何打印所有请求标头

如何用所有请求标头填充字典

在Web服务调用中添加带有请求有效负载的标头是否安全?

无法在请求库中发送带有标头的获取请求

Python发送带有标头的POST

如何使用带有某些标头的请求 Python 发送文件?

使用restTemplate发送带有身份验证标头的GET请求

AngularJS:无法发送带有适当的CORS标头的POST请求

如何使用Spring的WebClient发送带有自定义标头的删除请求?

Node.js:如何使用请求模块发送带有表单数据的标头?

在标头php中发送带有x-auth-token的请求

如何在 Angular 7 中的 get 请求中发送带有标头的 apikey