iOS 目标 C 中的错误域 = NSURLErrorDomain 代码 = -1012 "(null)"

Posted

技术标签:

【中文标题】iOS 目标 C 中的错误域 = NSURLErrorDomain 代码 = -1012 "(null)"【英文标题】:Error Domain=NSURLErrorDomain Code=-1012 "(null)" in iOS Objective C 【发布时间】:2016-08-23 07:31:46 【问题描述】:

我用 POST 方法请求服务器,服务器响应我 401 状态码。我有错误 1012,我的回答是零。

//Send request
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

因此,我在 ios 目标 C 请求中找到了一些用于禁用和更改安全模式的代码,但不知道如何使用它以及在哪里设置代码。 请帮忙

AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
    [policy setValidatesDomainName:NO];
    [policy setAllowInvalidCertificates:YES];
    [policy setValidatesCertificateChain:NO]; 

【问题讨论】:

你能提供一个请求 NSURL 吗?也许这个答案应该对你有所帮助:***.com/a/20296711/5433235 你在尝试使用http认证吗? 是的,我尝试验证 【参考方案1】:

根据文档:

NSURLErrorUserCancelledAuthentication = -1012

Here is the error list

更多关于 HTTP 状态代码 401 = 未授权

【讨论】:

这没关系 if((error != nil && error.code == NSURLErrorUserCancelledAuthentication)||response.statusCode == 401) 但有几个值作为响应,我无法访问他们。【参考方案2】:

首先,不要禁用证书验证。它不会解决你的问题。服务器拒绝客户端的身份验证,而不是相反。

其次,您的问题是用户的凭据不在钥匙串中,并且您没有提供委托方法来自己提供凭据。我不确定你是如何使用 AF API 做到这一点的,但你可以直接在 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/AuthenticationChallenges.html 上了解你将如何做到这一点,并将其作为了解幕后发生的事情的起点。

【讨论】:

以上是关于iOS 目标 C 中的错误域 = NSURLErrorDomain 代码 = -1012 "(null)"的主要内容,如果未能解决你的问题,请参考以下文章

Facebook视频共享IOS目标C上的错误

拒绝为目标域生成登录提示的权限。 ec2 实例中的谷歌身份验证错误

iOS标头中的WebKit错误域和代码?

iOS swift 中的错误域 = NSCocoaErrorDomain 代码 = 3840?

iOS 更改应用程序语言目标 c 无法正常工作

Xcode 项目中多个目标的特定关联域