jQuery设置ajax请求中的User 您所在的位置:网站首页 网红仙女棒烟花 jQuery设置ajax请求中的User

jQuery设置ajax请求中的User

2023-03-20 12:26| 来源: 网络整理| 查看: 265

标题: jQuery设置ajax请求中的User-Agent作者: Demon链接: http://demon.tw/programming/jquery-ajax-user-agent.html版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。

昨天说了,我尝试过在AJAX请求中修改User-Agent,但是似乎没有效果,在FireFox下Bookmarklet仍然无法获得正确的返回值。在FireFox的帮助论坛上找到《Firefox 3.6.13 ajax setRequestHeader(‘User-Agent’, ‘…’) don’t work》这个帖子,看来也有人跟我遇到同样的问题。

从帖子的链接一直跟进,就来到了w3.org关于XMLHttpRequest的描述:

3.6.2. The setRequestHeader() method

Terminate these steps if header is a case-insensitive match for one of the following headers:

Accept-Charset Accept-Encoding Connection Content-Length Cookie Cookie2 Content-Transfer-Encoding Date Expect Host Keep-Alive Referer TE Trailer Transfer-Encoding Upgrade User-Agent Via

Note: The above headers are controlled by the user agent to let it control those aspects of transport. This guarantees data integrity to some extent. Header names starting with Sec- are not allowed to be set to allow new headers to be minted that are guaranteed not to come from XMLHttpRequest.

紫色部分说,上面的消息头只能由浏览器控制,而不能用XMLHttpRequest对象来修改,即不能通过JavaScript修改。但是这也只是w3建议的标准而已,至于浏览器遵不遵循标准,那就得看开发人员了。

为了测试,先写一个ua.php,回显User-Agent:

然后用jQuery发送ajax请求,并在发送之前用XMLHttpRequest对象的setRequestHeader方法修改User-Agent:

$.ajax({ type: "GET", url: "ua.php", success: function(data) { alert(data); }, beforeSend: function(xhr) { xhr.setRequestHeader("User-Agent", "uTorrent"); } });

可以通过访问ua.html来进行测试,看看你的浏览器是否支持修改User-Agent。根据我的测试,IE还是跟往常一样无视标准的存在,可以用JavaScript在ajax请求中设置User-Agent,而FireFox和Chrome都无法修改User-Agent。这样看来,用JavaScript写一个六维空间流量作弊书签小工具也不是难事。

但是,昨天写的那个Bookmarklet就真的只能在IE下使用了,虽然可以写一个FireFox或者Chrome插件来解析115的下载地址。但是谁会为了区区一个网盘而大动干戈写一个浏览器插件呢?反正我没有那么闲,谁爱写谁写去。退一步讲,就算有人写了插件,又有谁会安装呢?下个解析工具还快点。

反正我很少用115网盘,要不是为了宠物小精灵,我才不会无聊到研究这种东西。然而,昨天还能下载的宠物小精灵,今天却弹出一个“视频文件禁止共享,请登录下载!”的错误,原来是“为加强知识产权的保护力度,营造健康有益的网络环境,115网盘暂时停止影视资源外链服务。”看来我得把阵地转移到还没有加强知识产权保护力度的电驴了。

赞赏

微信赞赏支付宝赞赏

相关文章:

jQuery ajax返回parsererror错误的解决方法 在WSH中使用jQuery 鄙视雨林木风 VBS获取GZIP压缩的HTTP内容 FireFox插件User Agent Switcher

随机文章:

WMI入门教程:第一部分PHP return语句ASCII Assembly代码分析之in.com用VBS创建环境变量强烈推荐EditPlus 3.21

这篇文章发布于 2011年03月31日,星期四,13:13,归类于 程序设计。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有