ios – 如何在UIWebView请求中添加自定义HTTP标头,我的UIWebView基于Cordova项目?

ios – 如何在UIWebView请求中添加自定义HTTP标头,我的UIWebView基于Cordova项目?,第1张

概述我的iOS UIWebView页面基于Cordova开源框架,我想在其webview URL请求添加一些自定义http标头,我的解决方案是将它们添加到以下UIWebView委托方法中. 调试显示标题已成功添加,但实际上请求不会将它们删除.使用Wireshark捕获网络数据包,发现只有标准标头可用,没有我的自定义标头. 我的测试基于模拟器(iOS 7.1),任何有此主题经验的人都请一起分享和讨论, 我的iOS UIWebVIEw页面基于Cordova开源框架,我想在其webvIEw URL请求中添加一些自定义http标头,我的解决方案是将它们添加到以下UIWebVIEw委托方法中.

调试显示标题已成功添加,但实际上请求不会将它们删除.使用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];}
解决方法 您有两个选项:在开始时创建一个 NSMutableUrlRequest并使用webVIEw loadReqest加载它,或者使用 NSURLProtocol接管应用程序的完整URL加载.

最简单的方法是首选,因为它只有一行额外代码:

[webVIEw loadRequest:mRequest];

第二个选择使用NSURLProtocol来接管您的应用的URL加载.这涉及使用创建具体类来注册自己的解决方案.覆盖的主要方法是canonicalRequestForRequest.

我建议您查看这两个教程NSNipster和raywenderlich以获取指南.

总结

以上是内存溢出为你收集整理的ios – 如何在UIWebView请求中添加自定义HTTP标头,我的UIWebView基于Cordova项目?全部内容,希望文章能够帮你解决ios – 如何在UIWebView请求中添加自定义HTTP标头,我的UIWebView基于Cordova项目?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存