繁体   English   中英

如何在NSURLConnection中获取默认的用户代理字符串?

[英]How do I get the default user-agent string in an NSURLConnection?

我想将文本附加到NSURLConnection的默认用户代理标头。 我知道如何更改NSURLConnection的用户代理 ,但我不知道如何获取默认的用户代理。 我尝试了以下方法:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
NSString *userAgent = [request valueForHTTPHeaderField:@"User-Agent"];
userAgent = [userAgent stringByAppendingString:extraUserAgentInfo];
[request addValue:userAgent forHTTPHeaderField:@"User-Agent"];

这不起作用,因为userAgent从valueForHTTPHeaderField: call返回nil

部分默认User-Agent是您的AppName和版本:

我的用户代理是:

User-Agent  foo-bar/1.0 CFNetwork/609.1.4 Darwin/12.4.0

foo-bar[[NSBundle mainBundle] objectForInfoDictionaryKey:(__bridge NSString *) kCFBundleNameKey]

1.0[[NSBundle mainBundle] objectForInfoDictionaryKey:(__bridge NSString *) kCFBundleVersionKey]

有一个博客条目更改来自iCab的UIWebKit HTTP请求的标头 他建议使用一个过程调用“Method Swizzling”来获得你想要的东西。但有传言称Method swizzling导致4.0拒绝

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM