NSURLConnection 返回错误而不是 401 响应

2024-02-08

我有一个 Web API,对于特定请求,如果一切正常,则返回状态代码 200;如果用户未根据授权令牌登录,则返回 401。如果响应状态为 200,则一切正常,但如果响应状态为 401,则似乎无法正常工作,返回代码为 -1012 的连接错误,而响应为零。

所以,下面的代码:

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
    NSLog(@"%@", response);
    NSLog(@"%@", connectionError);

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    int statusCode = (int)[httpResponse statusCode];
    NSLog(@"response status code: %d", statusCode);

将显示

2015-04-01 15:58:18.511 MyProject[3618:694604] <NSHTTPURLResponse: 0x155facc0> { URL: *SOME_URL* } { status code: 200, headers {
    "Access-Control-Allow-Headers" = "Content-Type, Accept, X-Requested-With";
    "Access-Control-Allow-Methods" = "POST, GET, PUT, UPDATE, OPTIONS";
    "Access-Control-Allow-Origin" = "*";
    Connection = "keep-alive";
    "Content-Type" = "application/json";
    Date = "Wed, 01 Apr 2015 12:58:14 GMT";
    Server = "Wildfly 8";
    "Transfer-Encoding" = Identity;
    "X-Powered-By" = "Undertow 1";
} }
2015-04-01 15:58:18.513 MyProject[3618:694604] (null)
2015-04-01 15:58:18.513 MyProject[3618:694604] response status code: 200

如果响应状态为200,而如果状态代码为401,我将得到:

2015-04-01 16:05:55.988 MyProject[3633:695836] (null)
2015-04-01 16:05:55.992 MyProject[3633:695836] Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x146137c0 {NSErrorFailingURLKey=*SOME_URL*, NSErrorFailingURLStringKey=*SOME_URL*, NSUnderlyingError=0x1459e6d0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)"}
2015-04-01 16:05:55.992 MyProject[3633:695836] response status code: 0

如果我使用 Postman 或 Android 设备执行相同的请求,我将收到带有以下标头的状态代码 401(从 Postman 复制):

Connection → keep-alive
Content-Length → 30
Content-Type → application/json
Date → Wed, 01 Apr 2015 13:07:34 GMT
Server → Wildfly 8
X-Powered-By → Undertow 1

是否有任何修复或可能有一个库可以为我提供一些准确的响应状态?我搜索了一些有关 -1012 错误的信息,但找不到太多内容,而且我真的不想以此为基础。

编辑:经过一番研究后,我在 Appl 的文档中发现了以下声明:“如果需要身份验证才能下载请求,则必须将所需的凭据指定为 URL 的一部分。如果身份验证失败或缺少凭据,连接将尝试在没有凭据的情况下继续。"

但是我怎么知道这个错误是否会出现在 401 状态之后呢?它可以出现在其他类型的请求之后吗?


要检查 401 错误,您可以这样做:

if (error != nil && error.code == NSURLErrorUserCancelledAuthentication) {
    // do something for 401 error
}

希望这有帮助

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

NSURLConnection 返回错误而不是 401 响应 的相关文章

  • 如何在 Objective-C 中解析包含 XML 的 NSString?

    在我的 iPhone 应用程序中 我有以下 NSString NSString myxml
  • 保留rootViewController?

    我想知道是否有人可以帮助我解决下面代码中的内存管理问题 我对 rootController 特别感兴趣 当我执行 initWithRootViewController 时它是否会被保留 或者它是否 这是我的猜测 通过窗口 addSubVie
  • 自定义 UISearchController 动画

    底线问题 如何覆盖取消属于 UISearchController 的 searchBar 的默认动画 标准搜索控制器行为 好的 我正在尝试为附加到 UISearchController 的 UISearchBar 变为活动状态时创建自定义动
  • 使用 arrayWithCapacity 有什么好处

    arrayWithCapacity是一个定义在NSArray h并实施于NSArray m 当我查看代码时GNUStep https raw githubusercontent com gnustep gnustep base master
  • Objective-C 属性的默认属性是什么?

    当您未在 Objective C 中列出任何属性时 属性的默认属性是什么 例如 如果我这样写 property float value 默认值是什么 比如它是只读的 它是否保留 等等 默认 隐式值为atomic readwrite and
  • iOS表单键盘不消失

    我知道我必须打电话 BOOL disablesAutomaticKeyboardDismissal return NO this dismiss keyboard on ios BOOL textViewShouldBeginEditing
  • 使用 Core Audio 忽略 __cxa_throw 是否安全?

    一个相似的question https stackoverflow com questions 12861748 how do i know when safe to ignore cxa throw on an all exception
  • 为什么 NSOrderedSet 不继承 NSSet?

    当然 有序集是集合的更具体的情况 那么为什么NSOrderedSet继承自NSObject而不是NSSet 我通过了界面NSSet你是对的 有序集似乎满足里氏替换原则 http en wikipedia org wiki Liskov su
  • 获取选定行 NSTableView 的值

    我如何获取 NSTableView 中选定行的值 通过使用selectedRow see here https developer apple com documentation appkit nstableview 1535010 sel
  • 迭代 NSDictionary 时保持顺序

    我有一个 NSDictionary 它正在迭代并将数据保存到核心数据 如下所示 NSDictionary details valueDict objectForKey shipment master for NSDictionary res
  • Objective-c 截断字符串并在末尾添加省略号

    如何在 Objective C 中截断字符串 然后在末尾添加省略号 NSString origString A very long string blah blah blah const int clipLength 18 if origS
  • Objective C 中最好的多线程方法?

    我正在开发一个 iPad 应用程序 目前正在努力寻找多线程的最佳方法 让我用一个简化的例子来说明这一点 我有一个包含 2 个子视图的视图 一个目录选择器和一个包含所选目录中所有图像缩略图的图库 由于 下载 和生成这些缩略图可能需要相当长的时
  • 使用 Objective-C 获取 Photoshop 的动作列表

    我正在使用 C 和 Obj C 编写一个与 Photoshop 交互的 OSX 应用程序 我一直在使用NSAppleScript使用动态构建的 AppleScript 来驱动 Photoshop 是的 这有点可怕 我希望能够以不同的方式驱动
  • C 指针与 Objective-C 指针

    我有 Objective C 背景 正在尝试扩展我在 C 方面的知识 然而 有一件事让我感到困惑 那就是 C 和 Obj C 中指针之间的区别 正如您在下面的示例中看到的 两种语言之间的行为似乎有点不同 我想知道您是否可以帮助解释原因 C
  • 如何为自定义手势识别器实现velocityInView:?

    我正在实施一个自定义UIGestureRecognizer子类 我想实施velocityInView 同样的方式UIPanGestureRecognizer已经做到了 但我不确定如何去做 如何计算以点 秒为单位的速度 Firstly 如果您
  • iPhone存储然后从Documents文件夹中读取文件

    这一定很容易 但我想将一个文件放在 文档 文件夹中 该文件在启动时读入 我有关于如何阅读的代码 并已确认其在正确的目录中查找 但是 当我保存在 xcode 中的 Resources 文件夹中时 我的文件 RootList txt 存储在 R
  • Objective-C - ARC - NSNumber - 分段错误

    我有一个 Objective C 程序 并且正在使用 ARC 自动引用计数 它在第 23 行抛出分段错误 请参见下面的程序 Question1 为什么会出现分段错误 下面给出的是程序 import
  • 如何将 NSDictionary 转换为 NSData,反之亦然?

    我正在发送NSString and UIImage使用蓝牙 我决定将两者都存储在NSDictionary然后将字典转换为NSData 我的问题是如何转换NSDictionary to NSData反之亦然 NSDictionary gt N
  • -[NSCFString objectAtIndex:]:无法识别的选择器

    我有一个小问题 在谷歌中找不到 UITableView工作正常 直到我开始滚动 Error Message NSCFString objectAtIndex unrecognized selector sent to instance 0x
  • 使用 Objective-C 将 XMP 数据嵌入到 PNG

    我需要将自定义 XMP 文件嵌入到 iOS 应用程序中的 PNG 中 到目前为止 我能做的就是编译 Adob e XMP 工具包 生成 Xcode 项目 然后正确编译该项目 从那里我不知道如何在我的 Xcode 项目中使用该库以及如何使用它

随机推荐

  • Git filter-branch 给了我两组提交

    我需要从我的提交历史记录中删除一个文件 我跟着Github 删除敏感数据的说明 https help github com articles remove sensitive data git filter branch force ind
  • win32 导出为固定格式

    我试图更改 Excel 文件的页脚 然后使用 Python3 6 中的 win32 包将其转换为 pdf 它实际上适用于我的家用电脑和工作电脑 只有 pdf 导出部分给了我错误 我想知道 MS Office 版本是否重要 因为我家里使用的是
  • d3.js 节点在强制布局中快速拖动时“跳回”

    我正在使用具有零重力和电荷值的力布局 var force d3 layout force gravity 0 charge 0 friction 0 9 linkDistance 250 linkStrength 1 size width
  • MySql查询缓存中的“query_cache_wlock_invalidate”有什么用?

    在添加MySql Query Cache的概念时 我们有一个名为 query cache wlock invalidate 的参数 我想知道这个参数有什么用 Thanks 当您在查询缓存中进行查询时 通常会返回缓存的内容 即使该查询使用另一
  • 无法提交 Hibernate 事务;嵌套异常是 org.hibernate.Transaction 异常:JDBC 提交失败

    我在应用程序中使用 Windows Azure SQL Server 当我连接到应用程序时 它显示以下错误 org springframework transaction TransactionSystemException Could n
  • UIImageView内容模式

    蓝线是图像视图的边界 UIImageView s contentMode is UIViewContentModeScaleAspectFit 我想保持原始图片的比例 怎样才能让图片的左边缘在UIImageView的左边缘 但不喜欢UIVi
  • Android 上的 PhoneGap 不会加载外部脚本

    我正在制作一个简单的应用程序来加载谷歌地图 但问题是每次我加载这个 它无法在我的 Android 模拟器上运行 而在桌面上则可以正常运行 如何让 Phonegap 或 Android 允许外部脚本工作 加载 更新 我总是收到此错误 应用程序
  • 我无法在 Android 真实手机上获取位置

    public class LocationService extends Service private Handler mHandler new Handler private Timer mTimer null private int
  • 有 typeid 可供参考吗?

    我正在寻找一种获取类型名称的方法 类似于typeid但仅供参考 根据这一页 http en cppreference com w cpp language typeid typeid删除引用 如果 type 是引用类型 则结果引用引用的类型
  • 在 C# 中生成运行哈希(或校验和)?

    Preface 我正在执行具有验证提交阶段的数据导入 这个想法是 第一阶段允许从各种来源获取数据 然后在数据库上运行各种插入 更新 验证操作 提交被回滚 但会生成 验证哈希 校验和 提交阶段是相同的 但是 如果 验证哈希 校验和 相同 则将
  • 使用 tfds.load() 无法访问 CelebA 数据集

    我正在尝试在深度学习项目中使用 CelebA 数据集 我有来自 Kaggle 的压缩文件夹 我想解压缩 然后将图像拆分为训练 测试和验证 但后来发现这在我的设备上是不可能的不那么强大 system 因此 为了避免浪费时间 我想使用 Tens
  • 为什么安装opencv后缺少cv2.so?

    今天我将opencv 2 4 4安装到Ubuntu 12 10 但是 import cv2 不起作用 root python Python 2 7 3 default Sep 26 2012 21 53 58 GCC 4 7 2 on li
  • Hello-jni 示例在 Android Studio 2.0 预览版中不起作用

    我正在尝试实施hello jni sample https github com googlesamples android ndk tree master hello jni进入我的项目 我有Gradle2 8 和 com android
  • 切换按钮折叠在 Bootstrap 导航栏中不起作用

    当导航栏折叠时 我的切换按钮不起作用 我已经检查了数据目标几次 看起来没问题 这是我的代码 div class navbar navbar fixed top navbar inverse div class container div d
  • REST API:请求正文为 JSON 或纯 POST 数据?

    我目前正在构建一个 REST API 当前所有 GET 方法都使用 JSON 作为响应格式 POST 和 PUT 操作的最佳实践是什么 在请求正文中使用 JSON 还是纯 POST 我找不到任何关于此事的信息 例如 我看到 Twitter
  • 使用 appcfg.py 时出现意外的关键字参数“context”

    我尝试通过 appcfg py 更新 Google App Engine 上的项目 C gt C Program Files x86 Google google appengine appcfg py update c secondApp
  • 单击时按钮周围出现不需要的轮廓或边框

    我的网站上有一个样式按钮 但是当我单击它时 它会创建一个不需要的边框或轮廓 我不知道是哪个 我怎样才能删除那个边框 以下是与该按钮相关的所有代码 button border hidden cursor pointer outline non
  • UIGraphicsGetImageFromCurrentImageContext() - 内存泄漏

    我正在打开相机UIImagePickerControllerSourceTypeCamera和一个习惯cameraOverlayView这样我就可以拍摄多张照片 而无需 使用照片 步骤 这很好用 但是保存照片功能存在内存泄漏 通过大量的调试
  • 建设 DAL。使用 EDM(来自数据库)

    我必须开发一个在 Windows wpf 中工作的 lob 应用程序 但应该以两种方式部署 使用本地数据库 同一台计算机 具有远程数据库 在同一网络中 我将使用从数据库生成的实体数据模型 dbcontext EF 4 0 VS2012 sq
  • NSURLConnection 返回错误而不是 401 响应

    我有一个 Web API 对于特定请求 如果一切正常 则返回状态代码 200 如果用户未根据授权令牌登录 则返回 401 如果响应状态为 200 则一切正常 但如果响应状态为 401 则似乎无法正常工作 返回代码为 1012 的连接错误 而