我的 iOS UIWebView 页面是基于 Cordova 开源框架的,我想在它的 webview URL 请求中添加一些自定义的 http header ,我的解决方案是在下面的 UIWebView 委托(delegate)方法中添加它们。
调试显示headers添加成功,但实际上请求并没有带出来。使用Wireshark抓包,发现只有标准包头,没有我自定义的包头。
我的测试是基于模拟器(iOS 7.1)进行的,有这方面经验的请大家一起分享讨论,在此先谢过了。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
// Add customize http headers in UIWebView request
if([request isKindOfClass:[NSMutableURLRequest class]]) {
NSMutableURLRequest * mRequest = (NSMutableURLRequest *)request;
[mRequest setValue:@"1.1" forHTTPHeaderField:@"appVersion"];
[mRequest setValue:@"iPhone 4S" forHTTPHeaderField:@"deviceModel"];
}
return [super webView:webView shouldStartLoadWithRequest:request navigationType:navigationType];
}
最佳答案
I know its late but may help others for SWIFT 3.0
let weburl = NSURL(string: "http://www.mywebsite.com")
let request = NSMutableURLRequest(URL: weburl!)
request.setValue("HEADER_VALUE", forHTTPHeaderField:"HEADER_NAME")
myWebView.loadRequest(request)
关于ios - 如何在 UIWebView 请求中添加自定义 HTTP header ,我的 UIWebView 是基于 Cordova 项目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539837/