提问者:小点点

URL为的数据任务超时


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

这是我的代码:

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()

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

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

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

错误域=NSURLError域代码=-1001“请求超时”。UserInfo={NSUnderlyingError=0x7ff0a3f4c6e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 “(null)” UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=The URL I was try to access, NSErrorFailingURLKey=THE URL I WAS NEVER ACCESS _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timedout.})

我试过看这篇文章和这篇文章。但是,我没有成功使用它们。网站加载速度相当快。我如何摆脱这个错误?


共2个答案

匿名用户

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

  • 错误域 = NSURLErrorDomain 代码 =-1005 “网络连接丢失。”
  • 错误
  • :错误域 = NSURLErrorDomain Code=-1001“请求超时”。
  • 发送 http 发布请求时出现 NSURLErrorDomain Code=-1001 错误
  • 未记录的 NSURLErrorDomain 错误代码(-1001、-1003 和 -1004),使用 StoreKit
  • 如何在 Swift 中使用 NSURLSessionDataTask

打印<code>响应</code>可能有助于查看HTTP头是否能提供线索。

匿名用户

我意识到我使用的是 https:// 而不是 http://