ios - URL 超时的数据任务

标签 ios swift nsurlsession nsurlsessiondatatask

我正在尝试访问一个网站。我正在使用 dataTaskWithURL 请求。

这是我的代码:

let task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: { (data, response, error) in

    print("2")

    if let urlContent = data {

        print("3")

        let stringContent = NSString(data: urlContent, encoding: NSUTF8StringEncoding)!

        let arr = stringContent.componentsSeparatedByString("<b>The computer's solutions will appear below</b><br>")

        let second = arr[1]

        let newArr = second.componentsSeparatedByString("</tr></table></center><p align=\"center\">")

        let results = newArr[0]

        self.resultsLabel.text = results

        self.stopActivity()
    } else {
        print(error)
        self.stopActivity()
    }
})

task.resume()

我还尝试在主 block 上运行此代码:

dispatch_async(dispatch_get_main_queue(), {() -> Void in
    // Code
})

但是,这些都没有成功。我反复收到以下错误

Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x7ff0a3f4c6e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=THE URL I AM TRYING TO ACCESS, NSErrorFailingURLKey=THE URL I AM TRYING TO ACCESS, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.})

我尝试查看 this postthis one以及。然而,我对他们并没有成功。该网站加载速度相当快。如何消除这个错误?

最佳答案

这可能是由多种原因引起的;如果问题发生在模拟器中,我建议按照下面的 SO 帖子中的建议重新启动模拟器:

打印响应也可能有助于查看 HTTP header 是否可以提供线索。

关于ios - URL 超时的数据任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560506/

相关文章:

iphone - 为什么 locationManager 不是 :didUpdateLocations being called?

ios - 需要将我的状态栏颜色更改为白色

ios - 使用来自 URL 的 JSON 数组并返回与 Swift 3 中的值匹配的行

ios - 如何从pdf文件中删除注释

ios - 在谷歌地图 iOS SDK 中获取两点之间的路线

ios - 如何在点击时展开 UIWebView

ios - numberOfRowsInSection 在 Alamofire 连接之前被调用

ios - NSURLSession downloadTaskWithResumeData重新启动应用程序后出现错误

ios - 如何使用 NSURLSession 下载多个文件

ios - ScrollView 很多图片占用大量内存