URLSession数据任务返回nil响应 - 找不到404页面

时间:2018-05-09 18:30:35

标签: ios swift4 nsurlsession

我正在尝试使用Swift 4中的URlSession调用https请求。我没有收到错误,但收到了无响应。

我试过在plist中添加ATS。添加了TLS版本,NSIncludesSubdomains键等。仍然无法正常工作。不确定可能是什么问题。有什么帮助吗?

以下是我的代码:

 url = URL(string: "https://quickweb.support.qvalent.com/OnlinePaymentServlet3")

 let urlRequest = URLRequest(url: url!, method: method, body: data.toEncodedData(), cachePolicy: .useProtocolCachePolicy)
            let useMainThread = true
            let configuration = URLSessionConfiguration.default
            var queue: OperationQueue? = nil
            if useMainThread {
                queue = OperationQueue.main
            }


let urlSession = URLSession(configuration: configuration, delegate: self, delegateQueue: queue)



 urlSession.dataTask(with: urlRequest){ data, resonse, error in
        if let error = error {
            self.errorMessage += Constants.shared.dataErrorMsg+error.localizedDescription
            onComplete(false,nil,self.errorMessage)
        }else if let data = data{
            self.parse(data: data, with: onComplete)
        }


 }.resume()

令人惊讶的是,我在Objective C中完成了相同的调用,这种调用完全正常。在Xcode 9.3中将其转换为swift 4失败。

当我打印响应数据时,它显示“找不到404页”

1 个答案:

答案 0 :(得分:0)

这已经解决了。这与请求或网址无关。客户端期待一个代理调用已经到位但没有被调用,因此它返回404. URLSessionTaskDelegate是关键。