Код NSURLErrorDomain=-1001 ошибка при отправке запроса HTTP post

Я использую следующий код для публикации изображения на моем сервере.

@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.)"}

я узнал, что эта ошибка является ошибкой тайм-аута. Перезапуск приложения или телефона не помог. Кроме того, я попытался опубликовать изображение на моем сервере с веб-браузер, и он работал без проблем.

что может быть причиной этой ошибки тайм-аута?

EDIT: когда я контролирую свою сетевую активность, я понял, что приложение отправляет данные 10 МБ, даже если изображение, которое я отправляю, составляет 0,1 МБ.

3 ответов


по-видимому, мой запрос post получал ошибку тайм-аута, так как я отправлял изображение, которое сервер нашел бы слишком большим. Я уменьшил изображения, чтобы сделать мои изображения приемлемыми для сервера.

As этот пост предлагает, NSURLErrorDomain Code=-1001 ошибка может быть вызвана многими вещами, в том числе;

  • ограничение времени ответа сервера
  • правила сервера о входящих данных
  • проблемы

надеюсь, что это поможет другим людям


в моем случае проблема была в сторонней библиотеке -FirebasePerformance. URL сообщения об ошибке:https://github.com/firebase/firebase-ios-sdk/issues/486


поздно отвечать, но недавно я столкнулся с ошибкой при запуске нового приложения, назначенного мне. Приложение является одним из них, чьи Домены URL заблокированы системным администратором моей компании.
Я прошу их разрешить мне доступ к URL-адресу, после которого пришел ответ, и приложение работает отлично.
Это может быть не фактическое решение для всех, но некоторые из разработчиков могут иметь ограниченную среду может получить помощь этот.