WebView(UIWebViewじゃないですよ~)のrequestをインターセプトするネタが、
日本語、英語共にみつからなかった。
先ず、
[webview setPolicyDelegate : self ];
とすることで、
- (void)webView:(WebView *)webView
decidePolicyForNavigationAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request frame:(WebFrame *)frame
decisionListener:(id<WebPolicyDecisionListener>)listener
がselfに飛んできます。
このメソッド内で、操作します。
①メソッドのタイプ
POST
[[request HTTPMethod]isEqualToString:@"POST"]
GET
[[request HTTPMethod]isEqualToString:@"GET"];
③パラメータの取得
POST
NSData* data = [request HTTPBody];
[data getBytes:d];
GET(これは、イマイチ。他にやり方があれば良いのだが。。。)
NSString* data = [request description];
④リクエストを破棄(無視)する
[listener ignore];
⑤リクエストを破棄しない
[listener use];
⑥リクエスト送信
NSURL*url=[NSURL URLWithString:strURL];
NSURLRequest*request=[NSURLRequest requestWithURL:url];
[[webView mainFrame] loadRequest:request];
以上
日本語、英語共にみつからなかった。
先ず、
[webview setPolicyDelegate : self ];
とすることで、
- (void)webView:(WebView *)webView
decidePolicyForNavigationAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request frame:(WebFrame *)frame
decisionListener:(id<WebPolicyDecisionListener>)listener
がselfに飛んできます。
このメソッド内で、操作します。
①メソッドのタイプ
POST
[[request HTTPMethod]isEqualToString:@"POST"]
GET
[[request HTTPMethod]isEqualToString:@"GET"];
③パラメータの取得
POST
NSData* data = [request HTTPBody];
[data getBytes:d];
GET(これは、イマイチ。他にやり方があれば良いのだが。。。)
NSString* data = [request description];
④リクエストを破棄(無視)する
[listener ignore];
⑤リクエストを破棄しない
[listener use];
⑥リクエスト送信
NSURL*url=[NSURL URLWithString:strURL];
NSURLRequest*request=[NSURLRequest requestWithURL:url];
[[webView mainFrame] loadRequest:request];
以上