我正在尝试访问一个网站。我正在使用 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 post和 this one以及。然而,我对他们并没有成功。该网站加载速度相当快。如何消除这个错误?
最佳答案
这可能是由多种原因引起的;如果问题发生在模拟器中,我建议按照下面的 SO 帖子中的建议重新启动模拟器:
- Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost."
- Error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out."
- NSURLErrorDomain Code=-1001 error when a http post request is sent
- Undocumented NSURLErrorDomain error codes (-1001, -1003 and -1004) using StoreKit
- How to use NSURLSessionDataTask in Swift
打印响应
也可能有助于查看 HTTP header 是否可以提供线索。
关于ios - URL 超时的数据任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560506/