原文地址:http://justcoding.iteye.com/blog/2086233

Firefox黑客插件:http://blog.csdn.NET/stilling2006/article/details/7753592

大概有两年没有去过chinaz的论坛了,昨天上去逛了逛。正好看到一个朋友在问百度是如何判断是不是手机登录的。有几个热心朋友回答的是js,我把百度首页的js看了下,没有找到一丝的手持设备判断的信息,我也就回答了两句,这里的判断应该属于程序部分的处理,不属于前端的范畴,是靠判断请求头信息(HTTP_USER_AGENT)进行判断的。不知道这位朋友能不能明白。

为了验证这个结论,这里我用firefox伪造请求头信息(主要是HTTP_USER_AGENT部分),来进行模拟手机访问百度网站。具体操作流程看下面。


如何用firefox伪造user agent来模拟手机访问网站

  1. 首先需要安装三个Firefox插件:wmlbrowser、XHTML Mobile Profile、User Agent Switcher;(我称它们为“伪娘三贱客”)

    先来一睹“伪娘三贱客”的尊容

  2. 安装好后需要设置 User Agent Switcher ,点击菜单 工具 → Default User Agent → User Agent Switcher → Options → New→New User Agent... ,Description是你给它的一个称呼,比如小三,凹凸曼等等。关键的部分是User Agent里面的东西(这里是请求头主要的信息,程序会根据这个请求头进行判断你是否是手持设备),这里就需要把我们想要模拟的手持设备的信息填入了。


  3. 添加好后一路确定,回到浏览器界面。工具 →default user agent  →选择你自己添加的那个 →在浏览器地址输入你想要访问的地址即可。
    十分大方这里你会看到几个选项,Default User Agent (浏览器默认的信息),Internet Explorer (可以模拟ie6,7,8的头信息),Search Robots (模拟谷歌,雅虎,msn的蜘蛛),iphone 3.0 (默认存在的一个),图片中的小三是我自己添加的一个(伪造Android的头信息)
  4. 下面列出几个比较常见手机的User Agent:(如果想要查询更多的手机user agent 信息的话,去看这里,还有这里)
    iPhone3:
    Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16
    Android:
    Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
    诺基亚N95:
    Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/30.0.015; Profile MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413
    诺基亚N97:
    Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124

firefox伪造头信息,访问网站的效果

ok,当上面的几步你都熟悉了的话,就可以输入你想要造访的网站了。下面看我用我的“小三”拜访百度首页的情况(小三伪造的安卓的头)

Now,看到了吧。百度首页变了吧。而且智能的判断出了这个采用安卓系统访问!你可以换成iphone试试,框中的部分是不同的!

这里你也许会发现用浏览器访问的百度页面好大啊,其实这里是它页面css的问题,为了实现自适应屏幕宽度。如果想要得到好的浏览效果的话,可以参考如何在电脑上模拟手机登陆网站(Opera Mobile Emulator)


查看firefox发送的头信息,进一步验证我的结论

我们用firebug查看一下请求头信息User-Agent的内容,发现就是我修改的安卓的user agent。而百度首页返回了不同的页面,ok结论成立。百度是通过服务端进行手持设备的判断,不过怎样判断的,代码是什么,这里我就不甚了了了。

Firefox伪造请求头相关推荐

  1. firefox伪造请求头信息,模拟手机访问网站

    大概有两年没有去过chinaz的论坛了,昨天上去逛了逛.正好看到一个朋友在问百度是如何判断是不是手机登录的.有几个热心朋友回答的是js,我把百度首页的js看了下,没有找到一丝的手持设备判断的信息,我也 ...

  2. 08-Flutter移动电商实战-dio基础_伪造请求头获取数据

    08-Flutter移动电商实战-dio基础_伪造请求头获取数据 在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程 ...

  3. python伪造请求头x-forwarded-for的作用_Pyspider中给爬虫伪造随机请求头的实例

    Pyspider 中采用了 tornado 库来做 http 请求,在请求过程中可以添加各种参数,例如请求链接超时时间,请求传输数据超时时间,请求头等等,但是根据pyspider的原始框架,给爬虫添加 ...

  4. ajax伪造请求头设置失败,以及浏览器插件解决方案(待完善)

    w3c规定,当请求的header匹配以下不安全字符时,将被终止,具体参考如下: Accept-Charset Accept-Encoding Connection Content-Length Coo ...

  5. 【python】前程无忧招聘——多线程、正则、伪造请求头、保存(excel\csv\json\mysql)、直条图展示

    前程无忧爬取招聘信息 介绍 结果展示 爬取的网页 参数 运行环境 项目分析 简单爬取 多线程爬取 数据的存储 csv json excel mysql 展示数据 运行 注意 介绍 该项目为课程期末作业 ...

  6. php爬虫伪造请求头,Nodejs 伪造IP 爬取图片

    //Nodejs 模拟IP 爬取图片 var _ = require('underscore'); var cheerio = require('cheerio'); var superagent = ...

  7. http请求头详解and爬虫

    爬虫离不开http协议,在模拟请求的时候,请求头伪装的越像越好.我自己在这里总结一下请求头里所有(如果有落下请留言提醒我)参数详情,更多的侧重爬虫. 请求头大小写识别,首字母大写.文中client,客 ...

  8. Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头

    本实验操作系统选用 CentOS release 5.6 (Final) 实验目的实现 Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR  请求头 .使其显示任意IP 过 ...

  9. node爬虫伪造ip与请求头

    //浏览器库 const userAgents = ["Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 ...

最新文章

  1. 2、Reactive Extensions for .NET(译)
  2. spring冲刺第一天
  3. 谷歌大脑Wasserstein自编码器:新一代生成模型算法
  4. AI自动标注神器!支持多通道、大尺幅数据
  5. opencv三维重建_使用iPhone相机和OpenCV来完成3D重建(第一部分)
  6. CentOS 初体验四: 阿里云服务器开启8080端口
  7. Java程序优化之享元模式
  8. Access context of data source and work center view do not match
  9. matlab磁铁模拟,用matlab-模拟环形磁铁的磁场分布
  10. linux c 守护线程,关于守护线程
  11. root android手机型号,兼容支持各种型号手机的Root权限获取方法
  12. linux 图片处理工具,linux的convert图片处理工具
  13. Server 安装 caffee
  14. 电磁学matlab仿真实验报告,利用MATLAB语言处理电磁学实验.doc
  15. 正规矩阵的谱分解MATLAB,正规矩阵的谱分解.PDF
  16. PowerMILL宏自动化编程视频教程
  17. C++--数字转大写金额
  18. php学习日志(5)-解决Windows Live Writer错误:WindowsLive.Writer.CoreServices.HttpRequestHelper的类型初始值设定发生异常...
  19. 嵌入式Linux之正点原子Linux开发板入手
  20. vsomeip源码梳理 -- OfferService流程

热门文章

  1. HashMap常见键、LinkedHashMap以及TreeMap的理解
  2. Navicat 数据表的数据的添加,删除及使用sql完成数据的添加。
  3. idea报8080端口被占用解决
  4. 8080端口被占用怎么办
  5. 认真做副业第6天,收入37810
  6. 淘宝网采用什么技术架构来实现网站高负载的(转载)
  7. 次世代游戏角色是怎么被做出来的?零基础小白搬好板凳来看看
  8. python函数返回值怎么理解_python函数的返回值是什么
  9. VS运行时提示系统找不到指定的文件问题
  10. 史上最全的hive全教程