提问者:小点点

发送 http 发布请求时出现 NSURLErrorDomain Code=-1001 错误


我正在使用以下代码将图像发布到我的服务器。

@IBAction func postButtonPressed(sender: UIButton) {
    let task = NSURLSession.sharedSession().dataTaskWithRequest(createRequest("http://xx.xx.xxx.xxx/xxxx/"), completionHandler: {
        data, response, error in
        println(NSString(data: data, encoding: NSUTF8StringEncoding))
    })
    task.resume()
}

其中createRequest()创建所需的NSURLRequest对象。

当我使用模拟器时,这很好。问题是,当我在iPhone上运行我的应用程序时,会出现以下错误。

Error Domain=NSURLErrorDomain Code=-1001 "The operation couldn’t be completed. (NSURLErrorDomain error -1001.)" UserInfo=0x155e71f0 {NSErrorFailingURLKey=http://xx.xxx.xxx.xxx/xxxx/, NSErrorFailingURLStringKey=http://54.148.156.117/query/, NSUnderlyingError=0x155674d0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1001.)"}

我知道这个错误是超时错误。重启应用程序或手机没有帮助。此外,我还试着从网络浏览器上传一张图片到我的服务器上,没有任何问题。

可能导致此超时错误的原因是什么?

编辑:当我监控我的网络活动时,我意识到该应用程序会发送10 MB的数据,即使我发送的图像是0.1 MB。


共3个答案

匿名用户

显然,我的帖子请求出现了超时错误,因为我发送的图像服务器会发现太大。我缩小了图像,以使我的图像被服务器接受。

正如这篇文章所暗示的,NSURLErrorDomain Code=-1001错误可能由许多原因引起,包括;

  • 服务器响应时间限制
  • 有关传入数据的服务器规则
  • 身份验证问题

希望这对其他人有帮助

匿名用户

在我的情况下,问题出在第三方库中 - FirebasePerformance。错误报告网址:https://github.com/firebase/firebase-ios-sdk/issues/486

匿名用户

回复很晚了,但我最近在运行分配给我的新应用程序时遇到了错误。该应用程序是其中之一,其 URL 域被我公司的系统管理员阻止。我
要求他们允许我访问 URL,之后响应来了,应用程序完美运行。
这可能不是每个人的实际解决方案,但一些开发人员可能拥有受限的环境,可以通过此获得帮助。