使用 AFHTTPRequestOperationManager 时响应失败

2023-12-11

当我尝试使用准确的用户名和密码调用 API(AFHTTPRequestOperationManager)进行身份验证方法时,获得准确的响应并且方法成功。然后我尝试使用无效的用户名和密码,但得到的响应是失败。

我尝试了 ASIHTTPRequest API 的相同方法,它工作正常。因此,请检查以下请求和回复,并建议我如何解决此问题。但在 AFHTTPRequestOperationManager 中,无效的用户响应是失败。

ASIHTTPRequest 调用示例:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[ NSURL URLWithString:[SharedUtil URLByKey:@"A_URL"]]];
request.shouldAttemptPersistentConnection=NO;
[request setRequestMethod:@"POST"];
[request addRequestHeader:@"enctype" value:@"application/x-www-form-urlencoded"];
[request addRequestHeader:@"Authorization" value:[SharedUtil authorizationHeader ]];
[request addRequestHeader:@"Accept" value:@"application/json"];

[request setValidatesSecureCertificate:NO];

[request setPostValue:@"pa" forKey:@"type"];

[request setPostValue:username forKey:@"username"];

[request setPostValue:password forKey:@"password"];


[request setDelegate:self];

[request setTimeOutSeconds:120];

[self setTimer];
[request setDidFinishSelector: @selector(responseAuthUserSuccess:)];
[request setDidFailSelector: @selector(responseAuthUserFailed:)];
[post release];
// Cancels an asynchronous request

[networkQueue addOperation: request];

响应是 ASIHTTPRequest 并且方法成功

{“error”:“invalid_grant”,“error_description”:“无法验证用户[电子邮件受保护]"}

使用 AFHTTPRequestOperationManager CALL 示例:

AFHTTPRequestOperationManager *managerAF = [AFHTTPRequestOperationManager manager];

NSDictionary *params = @{
                             @"type": @"pa",
                             @"username": username,
                             @"password": password
                             };
    [managerAF.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [managerAF.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"enctype"];
    [managerAF.requestSerializer setValue:[SharedUtil authorizationHeader] forHTTPHeaderField:@"Authorization"];

    managerAF.responseSerializer = [AFJSONResponseSerializer serializer];
    managerAF.securityPolicy.allowInvalidCertificates = YES;
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];



    [managerAF POST:[SharedUtil URLByKey:@"A_URL"] parameters:params  success:^(AFHTTPRequestOperation *operation, id responseObject) {


        NSData* data=[operation.responseString dataUsingEncoding:NSUTF8StringEncoding];


      }
        [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
        [self stopTimer];


    }];

AFHTTPRequestOperationManager 响应和方法失败:

Printing description of error:
Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)" UserInfo=0xd3b7670 {NSErrorFailingURLKey=https://example.com/token, com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0xd29a010> { URL: https://example.com/token } { status code: 400, headers {
    "Cache-Control" = "no-store";
    Connection = "keep-alive";
    "Content-Type" = "application/json;charset=UTF-8";
    Date = "Fri, 25 Jul 2014 05:15:19 GMT";
    Pragma = "no-cache";
    Server = "nginx/1.6.0";
    "Transfer-Encoding" = Identity;
    "X-Powered-By" = "Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.2.2 Java/Oracle Corporation/1.7)";
} }, NSLocalizedDescription=Request failed: bad request (400)}

您遇到的失败会被阻止,因为您遇到的 api 返回 http 响应代码 400,并且 AFNetworking 正确地将其解释为错误。您仍然可以使用以下命令从响应中获取更详细的数据responseData and responseString失败块中提供的 AFHTTPRequestOperation 对象的属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 AFHTTPRequestOperationManager 时响应失败 的相关文章

随机推荐

  • 使用ffmpeg丢弃容器中的数据流

    我正在尝试使用 ffmpeg 删除 Mp4 容器内的数据 字幕 流 这是 ffprobe 的屏幕截图 Input 0 mov mp4 m4a 3gp 3g2 mj2 from test m4v Metadata major brand is
  • Ansible,如何在主机清单中定义列表?

    我有一个剧本 我想在我的主机文件中定义一个字符串列表 这是我的主机文件 dashboard 1 2 3 4 dashboard domain test site domain one two foo bar 这是我尝试使用以下方法编写的剧本
  • WCF 中的 Owin 中间件替代品是什么?

    我正在尝试在 WCF 应用程序中实现多租户 但面临一些问题 所以我已经在应用程序中配置了 Autofac 并且 Autofac 也支持多租户与WCF 现在我的情况略有不同 我有一个正在使用此 WCF 服务的移动应用程序 该服务部署在 Azu
  • Microsoft Office 365 组:来宾用户无法使用图形端点进行驱动器调用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我们的应用程序通过对驱动器项执行 Get 调用来读取组驱动器内容 这对于内部成员和来宾用户来说过去都工作得很好 它现在适用于内部成员 但不再适用于来宾用户 以下是示例调用 h
  • 网页抓取协助

    我必须从这个网页中提取一些信息 我知道有更简单的方法来获取这些信息 但这就是我的任务 到目前为止 我一直在尝试这样做 import pandas as pd import requests from bs4 import Beautiful
  • 为什么这两个正则表达式的行为不一样?

    我正在尝试使用这样的构造函数语法创建正则表达式new RegExp bword b g 但它的行为并不符合预期 相反 它似乎创建了一个如下所示的正则表达式 bwor b g缺少最后一个字母 我必须使用构造函数语法来创建正则表达式 因为我是从
  • R data.table 如果另一列为 NA,则删除一列重复的行

    这是一个示例 data table dt lt data table col1 c A A B C C D col2 c NA dog cat jeep porsch NA col1 col2 1 A NA 2 A dog 3 B cat
  • Linq To Sql - SQL 默认约束问题

    我在数据库中有一个 USER 表 该表有一个 RegistrationDate 列 该列的默认约束为 GETDATE 使用 LINQ 时 我不为 RegistrationDate 列提供任何数据以将其设置为默认值 但 SQL Server
  • 并非所有代码路径都会返回值,for 循环

    这段代码将比较用户名 and 密码存储在文本文件中 我认为这是因为 for 循环 它可能很简单 但我看不到它 public int loginCheck string users File ReadLines Username Passwo
  • 如何将 Crashlytics 与 iMessage 扩展一起使用?

    我的 iOS 应用程序中有一个 iMessage 扩展 Crashlytics 能否捕获其崩溃情况 我尝试添加相同的Fabric来自我的主应用程序的条目Info plist进入我的 iMessage 扩展程序Info plist 并将以下内
  • Libsvm 中的决策值

    我是 SVM 新手 我使用 Libsvm for Matlab 在预测阶段之后我得到了一个决策值数组 根据 SVM 理论 每个测试记录 z 被指定为正 如果 f z 1 其中 f z 定义为 f z 符号 w z b 那么如何将实例 z 的
  • 在 JBoss 中替换 Websphere 的 WorkManager?

    我们正在从 Websphere 迁移到 JBoss 但某些代码依赖于 Websphere 的 WorkManager com ibm websphere asyncbeans WorkManager 有没有人以前处理过这个问题 并对如何替换
  • 具有两个 Y 轴的图:置信区间

    我试图用误差线和两个 y 轴绘制几个点 然而 在每次调用plotCI 或errbar 函数时 都会初始化一个新的绘图 无论是否有par new TRUE 调用 require plotrix x lt 1 10 y1 lt x rnorm
  • CustomControl DependencyProperty 绑定无法正常工作

    我写了一个自定义控件 它是一个带有按钮的文本框 可打开 OpenFileDialog TextBox 的 Text 属性绑定到我的依赖属性 FileName 如果用户通过 OpenFileDialog 选择文件 我会将结果设置为此属性 Te
  • 使用 sympy 展开索引符号方程

    下面我有一个使用索引符号编写的方程 这个方程可以用图中的六个方程来表示 第一个方程使用索引符号 爱因斯坦符号 https en wikipedia org wiki Einstein notation 在 U k k 中 逗号是导数的约定
  • PyTorch:addmm函数的用途

    以下 PyTorch 函数的目的是什么 doc torch addmm beta 1 mat alpha 1 mat1 mat2 out None 更具体地说 是否有任何理由更喜欢这个函数而不是仅仅使用 beta mat alpha mat
  • 在 ASP.Net 中创建 Repeater 控件

    我正在使用两个下拉菜单并将值绑定到该下拉菜单 现在添加一个新按钮 add new 当我单击 添加 按钮并保留之前选择的值时 我想在下面创建上述下拉列表 请帮助我做到这一点 您可以使用 ASP Net 的 Repeater 控件来达到所需的结
  • 在 django 过滤器中使用关系时过滤器的 OR 定义

    我有三个模型 其简单关系如下 模型 py class Person models Model first name models CharField max length 20 last name models CharField max
  • 从 C 中现有的一维数组创建二维数组?

    在 perl 中 我可以创建一维数组 然后从它们创建二维数组 如下所示 a1 a b c a2 d e f a3 g h i m23 v1 a1 a2 a3 这是另一种方法 假设 a1 a2 and a3与前面的示例相同 m23 v2 a1
  • 使用 AFHTTPRequestOperationManager 时响应失败

    当我尝试使用准确的用户名和密码调用 API AFHTTPRequestOperationManager 进行身份验证方法时 获得准确的响应并且方法成功 然后我尝试使用无效的用户名和密码 但得到的响应是失败 我尝试了 ASIHTTPReque