如何使用NSURLSession类

时间:2016-07-09 00:24:14

标签: ios nsurlsession

我有多个包含迷你Web服务器的硬件设备,因为他们使用DHCP可以在本地域上拥有任何IP地址。

我使用NSURLSession扫描IP地址范围.2到.253,尝试获取这些设备托管的index.html。

只要我关闭了应用传输安全功能,这种方法很有用,当然,只要我打开它就会失败,因为它不允许IP地址连接。

有没有做到这一点,没有离开ATS并祈祷Apple允许我通过我解释需要?

一些伪代码:)

App figures out its own IP address say 192.168.0.10
for i in 2..<254 {
    creates a new ip address of 192.168.0.2, .3, .4 etc etc
    NSURLSession to https://above IP address/index.html
    if ( succeeds ) {
         I found a device
    }
}

开启ATS,不再允许

1 个答案:

答案 0 :(得分:0)

不确定。您可以将HTTPS与自签名证书一起用于IP地址,然后为用户提供一种方法来粘贴允许的密钥或允许的自定义根证书(您的选择),然后以自动接受的方式粘贴override TLS chain validation答案是A.通过正常的证书检查或B.匹配那些指定的密钥或由这些根证书签名。

我并不是说这是微不足道的,但可以做到。

话虽如此,你真的不应该像这样探索网络。您应该使用服务发现。这对证书问题没有帮助,但它会使你的应用程序因滥用局域网而不太可能被拒绝。 : - )