Ошибка Http-запроса iOS 11.2

Я пытаюсь сделать http-запрос на свой сервер, чтобы получить JSON, но каждый раз, когда я пытаюсь это сделать, я получаю это сообщение об ошибке.

2018-03-26 16:53:32.477431+0200 S_Buddy[40041:3435695] [] Ошибка подключения nw_socket_connect (fd 8, поток 172.227.96.127:443, pid: 40041, очищенный URL-адрес: https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml , tls): [64] Хост недоступен 2018-03-26 16:53:32.479737+0200 S_Buddy[40041:3435695] TIC TCP Conn Failed [1:0x60400017f5c0]: 3:64 Err(64) 2018-03-26 16:53:32.480346+0200 S_Buddy[40041:3435695] Ошибка HTTP-загрузки NSURLSession/NSURLConnection (kCFStreamErrorDomainSSL, 64) 2018-03-26 16:53:32.480465+0200 S_Buddy[40041:3495F7-94B3-2DA95] Task1 ‹ 9 92EB-AF8BE012833F>.‹1> Ошибка загрузки HTTP (код ошибки: -1200 [3:64]) 2018-03-26 16:53:32.480970+0200 S_Buddy[40041:3435696] Задача ‹2DA19979-F9F3-4F4B-92EB -AF8BE012833F>.‹1> завершено с ошибкой - код: -1200 Домен ошибки=NSURLErrorDomain Code=-1200 "Произошла ошибка SSL, безопасное подключение к серверу невозможно." UserInfo={_kCFStreamErrorCodeKey=64, NSLocalizedRecoverySuggestion=Вы все равно хотите подключиться к серверу?, NSUnderlyingError=0x60000044cae0 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" 3, _kCFStreamErrorCodeKey=64}}, NSLocalizedDescription=Произошла ошибка SSL, безопасное соединение с сервером установить невозможно., NSErrorFailingURLKey=https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml?c9911b4d481e6ada019ba2d93f6cf780, _kCFStreamErrorDomainKey =3}

Моя конфигурация info.plist такова:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>ecb.europa.eu</key>
        <dict>
            <key>NSIncludesSubdomains</key>
                <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            <key>NSTemporaryExceptionMinimumTSLVersion</key>
                <string>TLSv1.0</string>
            <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
                <false/>
        </dict>
    </dict>
</dict>

Моя цель iOS — 10, и я использую Swift 4.


person G.Mohr    schedule 26.03.2018    source источник


Ответы (1)


Из похожих вопросов в Интернете я обнаружил, что они использовали следующие ключи, в том числе несколько отличных от тех, которые вы уже используете:

<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSRequiresCertificateTransparency</key>
<false/>                
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>

<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>

Я не проверял это с вашим конкретным веб-сайтом.

person spijs    schedule 28.03.2018