Ios 域的AFNetworking可访问性管理器-始终可访问

Ios 域的AFNetworking可访问性管理器-始终可访问,ios,afnetworking,afnetworking-2,reachability,captivenetwork,Ios,Afnetworking,Afnetworking 2,Reachability,Captivenetwork,我正在使用AFNetworking的可达性管理器监视特定域的可达性,如下所示: reachabilityManager = [AFNetworkReachabilityManager managerForDomain:@"www.xyz.com"]; [reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) {

我正在使用AFNetworking的可达性管理器监视特定域的可达性,如下所示:

reachabilityManager = [AFNetworkReachabilityManager managerForDomain:@"www.xyz.com"];
[reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
            switch (status) {
                case AFNetworkReachabilityStatusReachableViaWWAN:
                case AFNetworkReachabilityStatusReachableViaWiFi:
                    DLog(@"***became reachable***");
                    break;
                case AFNetworkReachabilityStatusNotReachable:
                default:
                    DLog(@"***became UNreachable***");
                    break;
            }
        }];
[reachabilityManager startMonitoring];
它工作良好,但当设备连接到捕获门户/网络且所有其他数据被禁用时除外。出于某种原因,管理员认为设备处于可访问状态,尽管如果在浏览器中输入相应的URL,域实际上是不可访问的,但它会重定向到捕获门户的登录页面

我做错什么了吗?如果没有,有没有办法解决这个问题


谢谢

不幸的是,可达性只是检查特定主机或dns名称是否响应。正如您在浏览器中看到的,捕获门户通过响应所有请求来显示登录页面,无论用户尝试访问哪个站点。所以可达性表示域是可访问的,因为它得到了响应。它无法区分真实响应和捕获门户之间的区别


您需要让您的代码尝试从您的站点检索可访问的已知信息,比如signature.txt包含您可以检查的文本。如果你得到了合适的价值,那么你就知道你是在和你的网站交谈。如果不是,则可能是一个捕获门户

不幸的是,可访问性只是检查特定主机或dns名称是否响应。正如您在浏览器中看到的,捕获门户通过响应所有请求来显示登录页面,无论用户尝试访问哪个站点。所以可达性表示域是可访问的,因为它得到了响应。它无法区分真实响应和捕获门户之间的区别


您需要让您的代码尝试从您的站点检索可访问的已知信息,比如signature.txt包含您可以检查的文本。如果你得到了合适的价值,那么你就知道你是在和你的网站交谈。如果不是的话,那么它可能是一个俘虏门户

是有意义的,我希望不会是这样。哦,好的,谢谢!有道理,我希望不会是这样。哦,好的,谢谢!