Задача данных URLSession возвращает нулевой ответ - страница 404 не найдена - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь вызвать запрос https с помощью URlSession в Swift 4. Я не получаю сообщение об ошибке, но получаю нулевой ответ.

Я пытался добавить ATS в plist. Добавлена ​​версия TLS, ключи NSIncludeSubdomains и т. Д. Все еще не работает. Не уверен, в чем может быть проблема. Любая помощь?

Ниже мой код:

 url = URL(string: "https://quickweb.support.qvalent.com/OnlinePaymentServlet3")

 let urlRequest = URLRequest(url: url!, method: method, body: data.toEncodedData(), cachePolicy: .useProtocolCachePolicy)
            let useMainThread = true
            let configuration = URLSessionConfiguration.default
            var queue: OperationQueue? = nil
            if useMainThread {
                queue = OperationQueue.main
            }


let urlSession = URLSession(configuration: configuration, delegate: self, delegateQueue: queue)



 urlSession.dataTask(with: urlRequest){ data, resonse, error in
        if let error = error {
            self.errorMessage += Constants.shared.dataErrorMsg+error.localizedDescription
            onComplete(false,nil,self.errorMessage)
        }else if let data = data{
            self.parse(data: data, with: onComplete)
        }


 }.resume()

Удивительно, но в Objective C несколько лет назад я сделал такой же вызов, который работает абсолютно нормально. Попытка преобразовать его в swift 4 в Xcode 9.3 не удалась.

Когда я печатаю данные ответа, он говорит: «404 страница не найдена»

1 Ответ

0 голосов
/ 12 мая 2018

Это решено. Это не имело никакого отношения к запросу или URL. Клиент ожидал вызова делегата, который был на месте, но не вызывался, и поэтому он возвращал 404. Ключ URLSessionTaskDelegate был.

...