当前位置: 首页 > 知识库问答 >
问题:

AFNetworking-HTTP加载失败(错误代码:-999)swift iOS

郗俊能
2023-03-14

我正在使用iOS 11的AFN网络。我得到的错误如下:

任务

我已经尝试了所有可能的方法。

请帮我解决这个问题。

非常感谢。

共有2个答案

阮轶
2023-03-14

我在开发概念验证时遇到了这个问题,我们的服务器没有正确的证书。似乎与此相关的大多数问题都与使用AFNetworking 1和2有关,而大多数答案在使用AFNetworking 3时并不适用,包括修改。plist

对我有效的是修改AFSecurityPolicy*securityPolicy 像这样:

AFSecurityPolicy *sec = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
[sec setAllowInvalidCertificates:YES];
[sec setValidatesDomainName:NO];
manager.securityPolicy = sec;

我发现这要感谢多迪·拉赫马特·维卡索诺的回答。

那个问题的OP用Swift发布了答案。

注意:与其他类似的解决方法一样,这并不意味着要在生产环境中使用。

文志学
2023-03-14

有几个小的、不相关的问题:

>

  • NSExceptionAllowsInsecureHTTPLoads应该是布尔值,而不是字符串。

    web服务返回JSON,但将其内容类型保留为text/html。但是AFNetworking(及其快速的兄弟Alamofire)验证Content-TypeHTTP头。

    如果使用AFNetworking,这意味着您可能需要将text/html添加到AFJSONResponseSerializer的可接受内容类型列表中。(或者您可以使用AFHTTPResponseSerializer,但是您必须自己解析JSON。)

    但这两者都不可能是NSURLErrr取消的来源。我能够从iOS查询这个网络服务,而没有得到这个“取消”错误(包括你的plist设置,也没有任何plist网络相关的设置)。

    我想知道您的计算机或网络是否存在配置问题。我会尝试在物理设备上测试,而不是在模拟器上。(这就排除了计算机配置可能是问题的根源。)如果可以的话,我会尝试在手机连接上测试,而不是通过wifi。(这样就消除了LAN的配置问题,例如代理服务器的一些奇怪之处。)

    在AFNetworking中,默认身份验证质询例程将NSURLSessionAuthChallengeCancelAuthenticationChallenge传递给URLSession:didReceiveChallenge:completionHandler:的完成处理程序,这将导致nsurErrorCancelled。但标准系统配置不会触发此问题。但是如果您的计算机或网络中有什么东西触发了AFURLSessionManager中的身份验证挑战。

    例如,我可以在使用Charles时重现您的问题,并禁用Charles根证书,从而导致这种非启发性的“取消”错误。在我的特定示例中,一旦我通过Charles的“帮助”»“SSL代理”»“为iOS模拟器安装Charles根证书”)将模拟器配置为信任Charles的SSL。我并不是说这是您案例中的确切问题(这是Charles用户所特有的),但这是一个更广泛问题的例子,可能会触发身份验证挑战,导致AFNetworking取消挑战,从而产生nsurerrorcancelled

    总之,尝试改变您试图连接到远程服务器的配置,看看您是否能够识别出没有出现问题的配置和其他出现问题的配置。

  •  类似资料:
    • 我连接到的服务使用自签名证书。出于开发目的,我不想验证该链。 使用swift 3和Alamofire 4。相应地修正了自动测试系统: 用于连接和禁用计算的代码。 来自转储打印的错误日志 [结果]:失败:错误域=NSURErrorDomain代码=-999“已取消”用户信息={NSERRORFAILINGURKEY=https://sub.url.com/path,NSLocalizedDescri

    • 我正在我的项目中进行登录,我正在使用Alamofire请求(swift 2.0),我总是遇到无法解决的错误。 错误域=NSURLErrorDomain代码=-999“已取消”用户信息=。。。{NSErrorFailingURLKey=…,NSLocalizedDescription=已取消,NSErrorFailingURLStringKey=…} 这是我的密码: 当用户按下按钮时,我在Login

    • 我在演示应用程序中不断得到上述错误。我有HMS核心版本5.0.0.329(初始版本)。我的网络连接很稳定。我已经在应用程序库上创建了测试应用程序,已经批准,但仍然相同的错误。还没运气。 Project.Gradle 沉降。梯度 主要活动: 如有任何帮助,不胜感激。谢谢

    • 我已经成功地为我的令牌获得了钥匙链,并将其传递给如下所示的AccessTokenAdapter类。超文本传输协议127.0.0.1:8000/api2/projects/?format=json传递为project ectsURL。 但是,从print(error)开始,我的Xcode显示了类似于error Domain=nsurerrordomain Code=-999“cancelled”Us

    • 问题内容: 我已经使用python 3.6在Windows机器上安装了opencv,没有任何问题,使用: 但是当我尝试导入cv2时,出现以下错误 我看过这篇文章 它说cv2不适用于python 3我在想这是否已修复或是否有解决方法 问题答案: 您可以从此非官方站点上在Windows 32位或64位计算机上下载最新的适用于Python 3.6的OpenCV 3.2.0,查找以开头的文件。然后键入以下

    • 我最近在部署到我们的共享主机时遇到了问题。从 Visual Studio 通过 Web 部署进行部署时,99% 的时间我在登录后在登录页面或主页上收到此错误。有时我可能会点击几下不同的部分,然后它就会击中。它通常会在几分钟到90分钟后消失。 运行Windows Server 2012 R2 Standard、IIS8和.NET 4.5的Web主机。 Web主机建议我需要使用Visual Studi