Http请求iOS 11.2失败

时间:2018-03-26 15:18:39

标签: http swift4 ios11.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,已清理网址: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失败[1:0x60400017f5c0]:3:64 Err(64)   2018-03-26 16:53:32.480346 + 0200 S_Buddy [40041:3435695] NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,64)   2018-03-26 16:53:32.480465 + 0200 S_Buddy [40041:3435695]任务< 2DA19979-F9F3-4F4B-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代码= -1200"发生SSL错误,无法与服务器建立安全连接。" UserInfo = {_ kCFStreamErrorCodeKey = 64,NSLocalizedRecoverySuggestion =您是否还要连接到服务器?,NSUnderlyingError = 0x60000044cae0 {错误域= kCFErrorDomainCFNetwork代码= -1200"(null)" UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0,_kCFNetworkCFStreamSSLErrorOriginalValue = 64,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = 64}},NSLocalizedDescription =发生SSL错误,无法建立与服务器的安全连接。,NSErrorFailingURLKey = https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml?c9911b4d481e6ada019ba2d93f6cf780,NSErrorFailingURLStringKey = 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

1 个答案:

答案 0 :(得分: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/>

我没有在您的特定网站上对此进行测试。