【问题标题】:Swift HTTPS errorSwift HTTPS 错误
【发布时间】:2016-07-31 04:51:59
【问题描述】:

不明白,这段代码有什么问题?它不起作用... 如果我尝试请求 HTTP ,它可以工作,但 HTTPS 不起作用。 请帮助或提供一些文献。

代码:

@IBAction func registrationAction(sender: AnyObject) {
    let name      = cView.nameTextField.text!
    let email     = cView.emailTextField.text!
    let password  = cView.passwordTextField.text!

    let json      = [ "name"     : name ,
                      "email"    : email ,
                      "password" : password ] as Dictionary<String, AnyObject>

    let urlPatch  = "https://128.32.136.40:8080/ewrdsf/sdffs"

    let url     = NSURL(string: urlPatch)!
    let request = NSMutableURLRequest(URL: url)

    request.HTTPMethod = "POST"
    request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")

    do {
        request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(json, options: .PrettyPrinted)
    } catch {
        print(error)
    }

    let session  = NSURLSession.sharedSession()
    let dataTask = session.dataTaskWithRequest(request) { (let data, let response, let error) in

        guard let _:NSData = data, let _:NSURLResponse = response  where error == nil else {
            print("error")
            return
        }

        let dataString = NSString(data: data!, encoding: NSUTF8StringEncoding)

        print(dataString!)
    }

    dataTask.resume()
}

【问题讨论】:

    标签: swift https


    【解决方案1】:

    您需要在您的应用 plist 文件中配置应用传输安全设置。右键单击您的 plist 文件并以源代码形式打开,然后添加此密钥。

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    

    欲了解更多信息,请参阅:https://developer.apple.com/videos/play/wwdc2015/703/

    【讨论】:

      猜你喜欢
      • 2011-02-10
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 2014-01-24
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多