方法一:你有兩個選項在開始時建立的NSMutableUrlRequest和載入,用 web 視圖 loadReqest 或接管您的應用程式與NSURLProtocol的完整 URL 載入。
最簡單的方法是代碼的第一選擇作為其唯一的多餘行:(已驗證可行)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ NSMutableURLRequest *mutableRequest = [request mutableCopy]; NSString *sendParam = [[NSString alloc] initWithData:mutableRequest.HTTPBody encoding:NSUTF8StringEncoding]; if(![sendParam isEqualToString:@""]){ NSString *newData = [sendParam MD5Value]; NSUInteger length = [newData length]; [mutableRequest addValue:[NSString stringWithFormat:@"%ld",length] forHTTPHeaderField:@"FELength"]; request = [mutableRequest copy]; }else{ return YES; } [self.webView loadRequest:request]; return YES;}
方法二:選擇使用NSURLProtocol來接管你這涉及註冊自己的解決方案,使用建立一個具體的類的應用程式的 URL 載入。重寫的主要方法是 canonicalRequestForRequest 。
我建議你帶一個看看這兩個教程NSNipster和raywenderlich為指南。(未驗證)