Bra*_*tte 12 iphone cocoa-touch 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"];
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为userAgent nil
将从valueForHTTPHeaderField:
呼叫中返回.
部分默认User-Agent是您的AppName和版本:
我的用户代理是:
User-Agent foo-bar/1.0 CFNetwork/609.1.4 Darwin/12.4.0
Run Code Online (Sandbox Code Playgroud)
foo-bar
是的价值 [[NSBundle mainBundle] objectForInfoDictionaryKey:(__bridge NSString *) kCFBundleNameKey]
和
1.0
是的价值 [[NSBundle mainBundle] objectForInfoDictionaryKey:(__bridge NSString *) kCFBundleVersionKey]
Bla*_*rog -3
有一篇博客文章更改来自 iCab 的 UIWebKit HTTP 请求的标头。他建议使用进程调用“Method Swizzling\xe2\x80\x9d来获得你想要的东西。但有传言称Method swizzling 会导致 4.0 拒绝
\n