iOS检测公共Wi-Fi是否重定向到另一个URL

时间:2015-02-16 20:58:53

标签: ios uiwebview wifi url-redirection

我正在开发一个非常简单的应用程序,该应用程序具有单个webView,必须打开该站点的某个移动版本。这是诀窍,许多公共Wi-Fi在这里将您重定向到他们自己的小页面,他们要求您登录和填充。我需要检测到并显示“无连接”警报,并且不应该看到此登录屏幕。我试图在webView委托方法

中这样做
- (BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {

if (![inRequest.URL.absoluteString containsString:@"mySite.com"]) {

    //no connection code

    return NO;

}

return YES;

}

它不起作用,登录屏幕仍然显示。这是做我需要的方式还是我必须在其他地方看待?

1 个答案:

答案 0 :(得分:0)

听起来系统正在进行重定向并为您提供不同的数据。这通常会有不同的mainDocumentURL,除非他们在路由器中做了一些非常偷偷摸摸的诡计。

通过检测与您最初尝试加载的mainDocumentURL不同的- (void)webViewDidStartLoad:(UIWebView *)webView{ NSString *loadingURL = [webView.request mainDocumentURL]; if (![loadingURL isEqualToString:requestedURL]) { webView.hidden = YES; // Show message. } } ,您可以拦截行为并搞砸事情。

{{1}}