修改UIWebView请求

时间:2011-05-26 19:42:46

标签: iphone objective-c ipad uiwebview

我想更改所有用户请求以使用POST方法(而不是GET)。如果请求已经是POST请求,则将新参数“userId = 2382938”附加到帖子数据。如果请求是GET,则将其更改为POST并添加'userId = 2382938'。

我知道我可以使用它拦截UIWebView。不知道从哪里开始。

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

//add post parameter here
}

2 个答案:

答案 0 :(得分:0)

来自How do I insert a POST request into a UIWebView

  

您可以使用NSMutableURLRequest,   将HTTP方法设置为POST,然后   使用将其加载到UIWebView中   -loadRequest。

答案 1 :(得分:0)

你可能想做那样的事情。

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

   NSMutableURLRequest *modifiedRequest = [request mutableCopy];

   modifiedRequest.URL = [NSURL URLWithString:parametrisedURL]; // here you will add your desired parameters

   modifiedRequest.HTTPMethod = @"POST";

   [webview loadRequest:modifiedRequest];

   // Do other stuff if any

   return YES;
}