因此,我可以使用Apple的可访问性类检测用户是否具有基本的互联网连接。但是,当我尝试检测它们是否连接到使用强制网络门户的Wi-Fi网络时,我会返回NetworkStatusReachableViaWiFi
,这是有道理的。但是,如果用户只是使用WiFi连接,也会返回此信息。
我需要能够检测到没有互联网连接和强制网络门户情况,因为这实际上没有互联网。
是否有可靠的API可以完成此任务?根据这篇文章http://blog.erratasec.com/2010/09/apples-secret-wispr-request.html#.VxkmrJMrIy5,当您连接到WiFi以检查强制网络门户时,Apple会ping一个内部地址。我宁愿避免ping任何外部网络,但如果我必须,有没有人知道如何ping相同的Apple地址并使用响应来判断我的用户是否有一个强制门户?
修改:我遇到了NSURLConnectionDelegate
及其方法connection:willSendRequestForAuthenticationChallenge:
。我认为这种方法可能能够满足我的需求,我可以向www.google.com发送一个基本请求并让自己成为委托人,如果这种方法受到影响,我可以做我需要做的事情。我想我可以打电话给cancelAuthenticanChallenge:
有没有人曾经使用过此方法来检测强制网络门户?它是如何工作的?