美文网首页
获取UA(userAgent)

获取UA(userAgent)

作者: 移动端_小刚哥 | 来源:发表于2017-12-05 20:29 被阅读16次

    获取UA的方法流程就是

    1. 利用浏览器控件UIWebView建立一个http请求
    2. 在请求建立的期间, 建立一个新的事件循环用来判断UA信息是否已经建立
    3. 在发送http请求之前截获UA信息, 并且取消这一http请求
    /**
     获取UA 下边三个方法都是
    
     @return UA
     */
    - (NSString *)createHttpRequest {
        self.webView = [[UIWebView alloc] init];
        self.webView.delegate = self;
        [self.webView loadRequest:[NSURLRequest requestWithURL:
                                   [NSURL URLWithString:@"http://www.eoe.cn"]]];
        NSLog(@"%@", [self userAgentString]);
        return [self userAgentString];
    }
    
    
    -(NSString *)userAgentString
    {
        while (self.userAgent == nil)
        {
            NSLog(@"%@", @"in while");
            [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
        }
        return self.userAgent;
    }
    
    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
    {
        if (webView == _webView) {
            self.userAgent = [request valueForHTTPHeaderField:@"User-Agent"];
            // Return no, we don't care about executing an actual request.
            return NO;
        }
        return YES;
    }
    

    原文地址:http://mobile.51cto.com/iphone-407791.htm

    相关文章

      网友评论

          本文标题:获取UA(userAgent)

          本文链接:https://www.haomeiwen.com/subject/ivacixtx.html