【发布时间】:2017-03-03 09:40:19
【问题描述】:
我正在尝试向我的网站 api 发出 https 请求,我已经为此工作了 2 天,但没有找到满足我所有需求的解决方案(它在 iOS 10 中)。我的 https 证书未签名 (https://api.example.de/v1/something),并带有一个令牌作为“授权”标头。然后我想下载 JSON 文件并解析它。这是我的代码:
func testDownload(token: String){
let url = URL(string: "https://api.example.de/v1/blabla")
var request = URLRequest(url: url!)
request.httpMethod = "GET"
request.addValue("Token \(token)", forHTTPHeaderField: "Authorization")
let session = URLSession.shared
let task = session.dataTask(with: request, completionHandler: { (data, response, error) -> Void in
do{
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String: AnyObject]
let parsed_data = json["data"] as? [[String: AnyObject]] ?? []
let firstName = parsed_data[0]["firstName"] as? String
print("Firstname for first item is: \(firstName)")
self.employeeName.text = firstName
} catch let error as NSError{
print("Sorry there is an Error: \(error)")
}
})
task.resume()
我收到了这个似乎无关的错误:
2017-03-03 10:16:52.636 44 App[1763:34479] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)
fatal error: unexpectedly found nil while unwrapping an Optional value
顺便说一句,我已经更改了 info.plist,例如 This Screenshot 并且还在两种不同的 API(一种使用经过认证的 SSL,另一种使用普通 HTTP 协议)上测试了此代码并解析了数据。
我做错了什么?请帮帮我
【问题讨论】:
标签: json http-headers ios10 http-request