【问题标题】:Error Domain=NSURLErrorDomain Code=-1012 "(null)" in iOS Objective CiOS 目标 C 中的错误域 = NSURLErrorDomain 代码 = -1012 "(null)"
【发布时间】: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 吗?也许这个答案应该对你有所帮助:stackoverflow.com/a/20296711/5433235
  • 你在尝试使用http认证吗?
  • 是的,我尝试验证

标签: ios objective-c afnetworking nsurlconnection


【解决方案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 上了解你将如何做到这一点,并将其作为了解幕后发生的事情的起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2016-02-06
    • 2017-11-30
    相关资源
    最近更新 更多