繁体   English   中英

对于非常特定的字符串,dataTaskWithRequest需要太长时间

[英]dataTaskWithRequest takes too long for a very specific string

我正在使用swift创建一个IOS应用程序。 最近,我遇到了一个奇怪的错误。 我试图检查一个网址是否有效,因此,我正在使用网址创建请求并检查响应。 我使用NSUrlSession的dataTaskWithRequest执行此任务。 奇怪的错误是,如果URL是alibaba ,响应会在很长一段时间后返回(有时超过20秒)。 为什么会这样? 就我而言,它只发生在这个特定的网址上。 这是一些代码,虽然没有必要。

let request = NSMutableURLRequest(URL: validatedUrl)
        request.HTTPMethod = "HEAD"

        let session = NSURLSession.sharedSession()

        let task = session.dataTaskWithRequest(request){ data, response, error in
            // The response here returns after a very long time
            let url = request.URL!.absoluteString

我很感激一些帮助家伙!

您正在通过Internet检索URL的内容。 发生这种情况的速度是任意的。 它取决于查找主机名的DNS服务器的速度,响应请求的Web服务器的速度,用户的Internet连接速度以及介于两者之间的每个网络的速度。

你可以放心地假设它会在三分钟内成功或超时。 在蜂窝网络上,二十秒甚至没有异常。

您可能应该重新考虑使用此URL所做的事情以及您为什么这样做,或者至少尝试找出一种方法来避免在您获取URL时让用户等待。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM