User-Agent

常见User-Agent

Firefox

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10

Opera

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60
Opera/8.0 (Windows NT 5.1; U; en)
Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50

chrome

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16

360

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

sogou浏览器

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)

QQ浏览器

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)

### 如何设置或更改HTTP请求中的User-Agent #### 使用OkHttp库设置User-Agent 对于Java开发者来说,在使用`OkHttp`发起网络请求时,可以通过自定义拦截器的方式轻松地设置或修改`User-Agent`头部信息。具体实现如下所示: ```java // 创建 OkHttpClient 实例并添加拦截器用于修改 User-Agent 头部 OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request originalRequest = chain.request(); // 新建带有指定 User-Agent 的请求 Request requestWithUserAgent = originalRequest.newBuilder() .header("User-Agent", "MyCustomUserAgent/1.0") // 设置自定义的 User-Agent 值 .build(); return chain.proceed(requestWithUserAgent); } }) .build(); ``` 此代码片段展示了如何利用`OkHttp`框架下的拦截机制来动态调整发出的每一个HTTP请求所携带的`User-Agent`参数[^1]。 #### 利用jQuery AJAX设置User-Agent 当采用JavaScript前端技术栈开发Web应用时,如果想要改变AJAX调用期间传递给服务器的`User-Agent`值,则可通过覆盖默认行为的方式来达成目的。下面是一段简单的示例代码说明这一过程: ```javascript $.ajax({ url: 'your_api_endpoint', type: 'GET', beforeSend: function(xhr){ xhr.setRequestHeader('User-Agent','YourCustomUAString'); // 覆盖原有的 User-Agent }, success:function(data,status,xhr){}, error:function(xhr,status,error){} }); ``` 上述脚本中,通过重写`beforeSend`回调函数内的逻辑实现了对即将发送出去的数据包内含有的`User-Agent`属性进行替换操作[^2]。 #### HttpClient方式配置User-Agent 针对基于JVM平台的应用程序而言,除了`OkHttp`之外还可以考虑选用Apache HttpComponents项目所提供的`HttpClient`组件来进行类似的处理工作。这里给出一段示范性的源码供参考学习之用: ```java HttpGet httpGet = new HttpGet("http://example.com/"); httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); CloseableHttpResponse response = null; try{ CloseableHttpClient httpClient = HttpClients.createDefault(); response = httpClient.execute(httpGet); }finally{ if(response!=null){ try{response.close();}catch(Exception e){} } } ``` 这段代码清楚地表明了怎样借助于`HttpClient`类及其相关API完成向目标URL提交GET类型的查询请求的同时附加上个性化的`User-Agent`标识字符串[^3]。 #### User-Agent的作用范围与应用场景 `User-Agent`字段主要用于告知接收方当前正在与其交互的是哪一种软件产品以及该产品的版本号等基本信息。它不仅有助于改善用户体验——例如让网页能够依据不同终端特性呈现最合适的视觉效果;而且也便于维护者追踪流量构成状况进而做出更合理的资源分配决策。此外,部分站点还会依赖此项数据实施针对性的安全防护策略,像过滤掉那些不符合预期模式的可疑连接尝试或是触发额外的身份验证流程等等[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值