ios - 如何在 UIWebView 请求中添加自定义 HTTP header ,我的 UIWebView 是基于 Cordova 项目的?

标签 ios cordova uiwebview http-headers

我的 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/

相关文章:

ios - 应用程序可以在不让用户知道电子邮件地址的情况下发送电子邮件吗?

javascript - 如何将 Google 应用端点与 PhoneGap 应用集成

iphone - 释放 UIWebView 后声音还在运行

objective-c - 无法在 UITableViewCells 中正确设置 UIWebview(带有 Youtube 视频)

ios - 如果 <UIAlertViewDelegate> 被弃用,我如何让我的警报按钮执行操作?

ios - RestKit 对象与外键和服务的映射

iOS 通用链接未在应用内打开

cordova - 如何在 iOS 上使用 phonegap 更改 webview 背景颜色

mysql - SQL JOIN 与 SQL 数据库 + PhoneGap

iOS:我必须在发布 UIWebView 之前调用 -stopLoading 吗?