【发布时间】:2013-12-16 18:19:31
【问题描述】:
我知道这可能有几个问题,但是当我尝试为我的 UIWebView 设置一个新的“用户代理”时,我遇到了一个问题。这是我现在正在做的事情:
NSURL *myUrl = [NSURL URLWithString:auxUrl];
NSMutableURLRequest *myRequest = [NSMutableURLRequest requestWithURL:myUrl];
NSMutableString *auxUserAgent = [[NSMutableString alloc] initWithString:[myRequest valueForHTTPHeaderField: @"User-Agent"]];
[auxUserAgent appendString:@"(iOS)"];
[myRequest setValue:auxUserAgent forHTTPHeaderField:@"User-Agent"];
NSLog(@"UA : %@",[myRequest valueForHTTPHeaderField: @"User-Agent"]);
我正在尝试将一些文本附加到实际的用户代理中,并且在 XCode 控制台中它确实显示了新的用户代理值。
2013-12-16 19:03:42.200 应用程序[736:60b] UA:Mozilla/5.0(iPhone;CPU iPhone OS 7_0_4,如 Mac OS X)AppleWebKit/537.51.1(KHTML,如 Gecko)Mobile/11B554a (iOS)
但是当我运行我的应用程序时,它会显示旧的。这是我在 UIWebView 中显示的网页中显示的用户代理的屏幕截图:
所以.. 我的问题是:我错过了什么?系统中是否存在不允许开发人员更改此数据的内容?
谢谢。
【问题讨论】:
-
如果您尝试使用
@"User-Agent"而不是@"User_Agent",会发生什么? -
正是你上面提到的改变它......
-
什么都没有发生......我在这个问题之前都试过了,但我留下了错误的......对此感到抱歉。问题已经编辑!除此之外......似乎 UIWebView 正在以某种方式覆盖 User-Agent,因为如果我发送任何其他标头参数,一切似乎都可以正常工作。
标签: ios objective-c uiwebview user-agent nsmutableurlrequest