iOS URLSession:某些GET请求超时(仅在https时发生)

时间:2018-06-18 16:21:18

标签: ios timeout urlsession

我发送了一批相同类型的GET请求:https://server.com/some-object/ {id}:

let urlStr: String = "https://server.com/some-object/1"
var urlRequest = URLRequest(url: url)

let task = session.dataTask(with: urlRequest) {
    (data, response, error) in

    guard error == nil else {
        print(error!)
        return
    }
    ...
}

task.resume()

问题是其中一些请求因超时而失败:

  

{错误域= kCFErrorDomainCFNetwork代码= -1001"(null)"   UserInfo = {_ kCFStreamErrorCodeKey = -2102,_kCFStreamErrorDomainKey = 4}}

如果我发送3个请求,那么例如其中一个请求可能会失败。 5个请求可能导致2次失败。 15个请求~6个故障...每次都有不同的故障数量。同一个请求可以第一次返回数据,下次失败。

我尝试将这些请求放到并发OperationQueue,串行OperationQueue,没有OperationQueue - 没有成功。在串行队列中,每个第3到第4个请求都会因超时而失败。

根据服务器日志,它接收所有请求并处理它们而没有任何错误。但在客户端我暂停了。

只有使用HTTPS才会发生这种情况。当我将地址更改为HTTP时,所有请求都会返回数据。

任何人都可以帮助我吗?可能是什么问题?

0 个答案:

没有答案