在UIWebView中捕获iOS应用程序的POST参数

时间:2014-02-17 18:57:24

标签: ios uiwebview nsurlrequest uiwebviewdelegate hybrid-mobile-app

我在HTML内显示一个简单的UIWebView页面。该页面包含登录名和密码文本框。当我点击登录按钮时,我使用帖子将该信息(用户名和密码)传递给某个URL。

我在UIWebView shouldStartLoadWithRequest方法中有断点但我只看到原始登录页面网址而不是它发布的网址。当我使用Charles(网络调试)工具时,它显示POST参数已传递给正确的URL,但该请求从未在shouldStartLoadWithRequest方法中捕获。

如何访问UIWebView内的参数,以便我可以执行其他操作?

1 个答案:

答案 0 :(得分:1)

shouldStartLoadWithRequest委托方法中,您可以捕获请求的POST正文。请参阅以下代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSLog(@"BODY: %@",[[[NSString alloc]initWithData:request.HTTPBody encoding:NSUTF8StringEncoding] autorelease]);

}