HTTP-запрос API не удалось подключиться ошибка 1004 - PullRequest
0 голосов
/ 04 ноября 2019

У меня проблема с моим запросом http от моего пользовательского API, использующего URLSession в Xcode с Swift. Это мой код:

let forecast = self.forecastList[forecastIndex]
let url : URL = URL(string: "https:laundryireland.tk/getForecast?pwd=\(self.CustomApiKey)&temp=\(forecast.temp)&hum=\(forecast.humidity)&pres=\(forecast.pressure)&weat=\(forecast.weather)&wind=\(forecast.windspeed)")!
let task = URLSession.shared.dataTask(with: url) {(data, response, error) in
    guard let data = data else { return }
    do {
        let scores = try JSONDecoder().decode(Scores.self, from: data)

            // ...

        } catch {
            print("ops")
        }
    }
task.resume()

Этот код выдает ошибку уже в третьей строке:

2019-11-04 12:53:26.701212+0000 DIYP[2554:1119528] [] tcp_input [C6.1:3] flags=[R.] seq=0, ack=2949324956, win=0 state=SYN_SENT rcv_nxt=0, snd_una=2949324955
2019-11-04 12:53:26.702757+0000 DIYP[2554:1119528] Connection 6: received failure notification
2019-11-04 12:53:26.702843+0000 DIYP[2554:1119528] Connection 6: failed to connect 1:61, reason -1
2019-11-04 12:53:26.702897+0000 DIYP[2554:1119528] Connection 6: encountered error(1:61)
2019-11-04 12:53:26.706142+0000 DIYP[2554:1119528] Task <46A61430-630E-48F8-B121-82B1C7BEE5DF>.<2> HTTP load failed, 0/0 bytes (error code: -1004 [1:61])

Я видел здесь: TIC TCP Conn Failed [4: 0x604000360300]: 1:61 Ошибка (61) <1> Ошибка загрузки HTTP (код ошибки: -1004 , что ошибка 1004 связана с тем, что устройство не может разрешить хост, но мне это кажется странным, поскольку мой URL-адреснаходится на зарегистрированном домене, работающем на удаленном сервере, который доступен везде (просто наберите: http://laundryireland.tk в вашем браузере, чтобы убедиться, что он работает).

Как мне исправить эту проблему?

1 Ответ

0 голосов
/ 06 ноября 2019

Итак, проблема была, прежде всего, в опечатке: мой домен http://laundryireland.tk, а в коде, который я написал https://laundryireland.tk. Я обнаружил, что все еще можно изменить настройки приложения, чтобы разрешить http соединения: щелкните правой кнопкой мыши на Info.plist, Open As > Source Code, затем скопируйте и вставьте следующий код сразу после <dict> вверху:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
...