iOS获取User-Agent(UA)信息的方法

转自:http://mobile.51cto.com/iphone-407791.htm


User-Agent(简称UA)是HTTP请求头部用来标识客户端信息的字符串, 包括操作系统, 浏览器等信息. 为了建立手机客户端的信息数据库, 需要从手机的http请求中取到这一字符串.

iPhone中取到UA信息的方法如下:

1.利用浏览器控件UIWebView建立一个http请求

2.在请求建立的期间, 建立一个新的事件循环用来判断UA信息是否已经建立

3.在发送http请求之前截获UA信息, 并且取消这一http请求 

 获取iPhone UA的代码如下:

  1. UIWebView *_webView; 
  2. NSString *userAgent; 
  3.  
  4. - (void)createHttpRequest { 
  5.     _webView = [[UIWebView alloc] init]; 
  6.     _webView.delegate = self; 
  7.     [_webView loadRequest:[NSURLRequest requestWithURL: 
  8.     [NSURL URLWithString:@"http://www.eoe.cn"]]]; 
  9.     NSLog(@"%@", [self userAgentString]); 
  10.     [_webView release]; 
  11.  
  12. -(NSString *)userAgentString 
  13.     while (self.userAgent == nil)  
  14.     { 
  15.         NSLog(@"%@", @"in while"); 
  16.         [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; 
  17.         } 
  18.     return self.userAgent; 
  19.  
  20. -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
  21.     if (webView == _webView) { 
  22.     self.userAgent = [request valueForHTTPHeaderField:@"User-Agent"]; 
  23.     // Return no, we don't care about executing an actual request. 
  24.     return NO; 
  25.     return YES; 
  26.  
  27. - (void)dealloc { 
  28. [userAgent release]; 
  29.     [super dealloc]; 
  30.   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值