我想找到一种方法来定位确切的失败请求。(CFNetwork SSLHandshake 失败(-9806))

I want to find out a way to locate the exact failed request.(CFNetwork SSLHandshake failed (-9806))

我的控制台 CFNetwork SSLHandshake failed (-9806) 中收到 xCode 的错误日志。

我如何找出导致失败日志的请求。

当我的应用程序启动时,有很多第三方请求和我自己的服务器请求。我不知道是哪一个出错了。

日志控制台只给我 CFNetwork SSLHandshake failed (-9806)

ps:我正在使用 swift 3.0,Xcode 8. AFNetworking 3.0(似乎 AFNetworking 的请求没有错误,因为我使用 AFNetworking 记录器记录所有AFNetworking 请求)

测试时,iOS 8 和 iOS 9 似乎比 iOS 10 生成更多失败日志。

ps: 我已将 NSAllowsArbitraryLoads 添加到我的 plist 文件中,并且我的许多 https 和 http 请求已成功加载。

我认为你没有在 info.plist

中添加以下内容
<key>NSAppTransportSecurity</key>
   <dict>
       <!--Connect to anything (this is probably BAD)-->
       <key>NSAllowsArbitraryLoads</key>
       <true/>
   </dict>

如果没有添加,请添加这个,这样就不会出现这个错误了。

setenv("CFNETWORK_DIAGNOSTICS", "3", 0)

将有助于记录更多详细信息

参考here

Burp Suite 也提供了一些帮助,似乎比 wireshark 更容易。 reference