[英]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.