如何检测用户何时通过UIWebView登录?

时间:2013-03-27 12:16:16

标签: ios objective-c ios5 login uiwebview

我希望为用户提供一个登录屏幕的UIWebView登录服务,一旦他们正确登录,我想抓取页面内容。我如何知道他们何时登录该服务?

我知道我可以查看当前的URL,因为它会重定向到特定的,易于识别的URL,但与此同时,如果他们以某种方式浏览网络,直到他们遇到此链接并点击它,它会在我的应用程序中产生意外结果。

1 个答案:

答案 0 :(得分:2)

有很多方法可以向服务器发送请求,您可以使用一些开放的API,例如ASIHTTPRequest(可能已过时)和AFNetworking。如果您想使用Apple提供的API,那么您可以使用NSURLConnection。基本上你在你的情况下发送synchronous请求。

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

NSString *reply = [[NSString alloc]  initWithBytes:[data bytes] length:[data length] encoding: NSUTF8StringEncoding];

如果用户已登录,请检查服务器的响应,然后打开包含所需内容的UIWebView,否则显示错误或警告。

if([reply isEqualToString:@"OK"]){
 // open and show Contents in `UIWebView`
} else {
 //show error not authenticated
}

Here is some basic tutorial if you getting started.

One more tutorial for NSURLConnection