iOS Basic Auth完成错误第一次

时间:2015-07-14 13:37:53

标签: ios objective-c swift nsurlconnection basic-authentication

我已经为基本身份验证实现了这段代码,有时候第一次没有工作:

func doRequestWithBasicAuth(completion : (success : Bool, html: String?, error : NSError?) -> Void) {
    if let user = self.user {
        let loginString = NSString(format: "%@:%@", user.login!, user.pwd!)
        let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
        let base64LoginString = loginData.base64EncodedStringWithOptions(nil)
        let url = NSURL(string: user.service!.getURL())
        let request = NSMutableURLRequest(URL: url!)
        request.HTTPMethod = "POST"
        request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
            if error == nil {
                let htmlString = NSString(data: data, encoding: NSUTF8StringEncoding)
                completion(success: true, html: htmlString as? String, error: nil)
            } else {
                completion(success: false, html: nil, error: error)
            }
        }
    } else {
        completion(success: false, html: nil, error: NSError())
    }
}

此方法附加到按钮,因此在第一次点击时我收到此错误:

  

BASIC AUTH ERROR:错误域= NSURLErrorDomain代码= -1012"   操作无法完成。 (NSURLErrorDomain错误-1012。)"   的UserInfo = 0x7bad5770   {NSErrorFailingURLKey = HTTPS:///auth/Logon.do,   NSErrorFailingURLStringKey = HTTPS:///auth/Logon.do,   NSUnderlyingError = 0x7b9c47f0"操作无法完成。   (kCFErrorDomainCFNetwork错误-1012。)"}

第二次点击时,通话工作正常......我无法理解为什么..我打印用户登录,psw和网址:两次通话都是一样的..

有什么想法吗?

0 个答案:

没有答案