JQuery Ajax请求:更改用户代理
我正在使用JQuery向我自己的Web服务发出一个AJAX请求。 我需要为HTTP-AJAX-Request设置或修改User-Agent
HTTP-Header,我怎样才能做到这一点?
我尝试了一些用户提供的提示使用setRequestHeader
方法来设置用户代理,但这是行不通的。 它确实适用于其他新创build的头文件(如X-Test-Header
),但对于User-Agent
不起作用。
谢谢!
这是根本不可能的,你不能改变XMLHttpRequests的用户代理。 我不确定这是否适用于Internet-Explorer,但w3c 在这里指定:
setRequestHeader()方法
[…]
当调用setRequestHeader(header,value)方法时,用户代理必须运行以下步骤:[…]
如果标头对以下标头之一是不区分大小写的匹配,请终止这些步骤:
[…]
- 用户代理
如果您使用的是jQuery,请在ajaxSetup中设置请求标头。
$.ajaxSetup({ beforeSend: function(request) { request.setRequestHeader("User-Agent","InsertUserAgentStringHere"); } });
那么,你总是可以使用jQuery发布到服务器端页面,然后又可以修改User-Agent
头,并且可以向jQuery直接访问的页面发出请求。