今天要简单讲一下Modify Headers这个Firefox插件,记录一下我是怎么使用它的。

Modify Headers: https://addons.mozilla.org/zh-CN/firefox/addon/modify-headers/

简单的说,这个插件的主要作用是对Firefox的HTTP request headers进行添加、修改和过滤等操作。当我们访问网站的时候,某些网站服务器会对访问网站的浏览器Header信息进行判断,然后决定用什么方式把网站内容呈现给浏览器。服务器也会根据浏览器的header中包含的其他信息(譬如浏览器所在的IP地址)判断是否要讲某一特定的信息呈现给浏览器。

在我平时的测试工作中,因为网站有不同的语言,针对不同国家的用户展现不同的内容,如中国用户在网站上将看到中国的客户服务电话,而美国用户将看到美国客户服务电话;又如中国地区访问网站将看到社交区域会显示微博的信息,而美国或其他地区的用户则将看到Twitter的Twits等等。

如果是在Production环境,我们可以利用VPN,以不同国家地区的IP来访问网站,从而检查网站是否对地域信息进行成功检测。但是如果我们在内部开发环境中测试,由于内部环境只能接受内部IP的访问,我们就不能用VPN进行这项工作了。这时候,就可以利用类似Modify Headers的插件,通过修改true-client-ip的值,来模拟从不同地域访问网站,而不用担心从外部网络无法访问的问题。

使用方法

安装插件以后,默认在status bar会显示一个小图标。

选择Add,右边的Header name, Header value和Descriptive comment等字段都会变得可编辑。由于我们要模拟不同地域的IP对网站进行访问,所以Header name字段中,我们填入true-client-ip。Header value中,填入你要模拟的地域IP地址,然后在Descriptive comment中填上备注就好。当然备注不是必须的,但是填了能帮助你记忆这条记录到底是干什么用的。填写完毕,点击Add,就会把记录添加到下面的列表中。如下图:

添加好了列表之后,我们必须Enable某条记录使其生效。选择某条记录,点击Enable/Disable按钮,或者直接双击该记录就可以开启或关闭了(会通过红色绿色小圆点来表示)。使用时,确保Modify Headers插件出去启动Start的状态(插件logo会变成红色)。要停止使用,直接点击插件界面左上角的Stop按钮,或者点击状态栏上插件logo,选择stop就好了(图标会变成灰色)。就是这样,我们就可以模拟不同的地域访问网站啦~

其他用途

当然Headers的用处并不只是改IP而已。从上面的截图看,我的最后一条是尝试修改User-Agent来模拟用iPhone访问网站。不知道为什么这次尝试失败了。。。不过我还有其他的插件来模拟不同的User-Agent(User Agent Switcher),用来模拟FF3一下版本,iPhone,IE6、7、8等等,来测试网站是否会根据不同的User Agent来显示不同的内容。我们还可以用Modify Headers修改其他的header name来做其他的用途,在维基上找到了这个header的列表:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields,但是好像没有看到true-user-ip在里面。。。非常奇怪。。。其他的功能我不会用,但对模拟不同地域来说,用true-user-ip就已经足够了。

Modify Headers模拟不同地域进行网页测试的更多相关文章

  1. 爬虫、网页测试 及 java servlet 测试框架等介绍

    scrapy 抓取网页并存入 mongodb的完整示例: https://github.com/rmax/scrapy-redis https://github.com/geekan/scrapy-e ...

  2. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能

    批处理批量打开网页 其实用java就可以搞定,但是这么一个轻巧的测试,js或者bat批处理去一次性打开几百个网页测试一下页面没必要上java 两者的区别,js的话,只能打开多个浏览器实例,不方便查看效 ...

  3. 使用Firefox user agent进行移动端网页测试

    Selenium 真是个强大的网页测试工具,设置Firefox user agent, 就可以轻松模拟手机端浏览器进行网页测试. Demo Code # -*- coding:utf8 -*- imp ...

  4. Loadrunner模拟JSON接口请求进行测试

    Loadrunner模拟JSON接口请求进行测试     一.loadrunner脚本创建 1.Insert - New step -选择Custom Request -  web_custom_re ...

  5. 使用Post方法模拟登陆爬取网页

    最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页.下面是极简版的代码: import java.io.BufferedReader; import java.io.InputStre ...

  6. 火狐浏览器安装 Modify Headers 插件

    一.火狐浏览器插件安装 这里以火狐浏览器的Modify Headers插件安装为例,展示火狐插件的安装: 1.打开火狐浏览器,右上角选择“附加组件” 2.搜索Modify Headers插件 3.安装 ...

  7. click 在网页测试手机模式下无效,不能执行。调成非手机模式即可

    click  在网页测试手机模式下无效,不能执行. 调成非手机模式即可

  8. modify headers插件的使用

    Modity headers是firefox浏览器的一个插件,作用是改变http请求的IP地址 (一)在firefox中添加该插件 步骤一:打开firefox浏览器,打开地址: https://add ...

  9. 使用Post方法模拟登陆爬取网页(转)

    使用Post方法模拟登陆爬取网页   最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页.下面是极简版的代码: import java.io.BufferedReader; impor ...

随机推荐

  1. EF选择Mysql数据源

    EF添加ADO.NET实体模型处直接选择Mysql数据源 最近想到EF是连接多数据库的orm框架,于是就想测试下.查了一堆网上资料后,测试连接mysql成功.步骤如下: 1.在你项目Model层中nu ...

  2. javascript的有效校验

    //年月日期有效性检验 function yearAndMonthCheck() { var flag = true; var currentyear = new Date().getFullYear ...

  3. 使用Python获取计算机名,ip地址,mac地址等等

    获取计算机名 # 获取计算机名,常用的方法有三种 import os import socket # method one name = socket.gethostname() print(name ...

  4. 驱动模块和装模块的概念——Junit单元测试案例

    驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序.它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果. 桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软 ...

  5. HUST-1350 Trie

    1350 - Trie 时间限制:1秒 内存限制:128兆 104 次提交 35 次通过 题目描述 In computer science, a trie, is an ordered tree da ...

  6. Tomcat的类加载机制

     一个功能健全的Web服务器,要解决如下几个问题: 部署在同一个服务器上的两个Web应用程序使用的Java 类库可以实现相互隔离.不能要求一个类库在一个服务器中只有一份,服务器应当保证两个应用程序的类 ...

  7. 关于android studio3.0版本后引入资源问题error: failed linking file resources

    最近更新阿里短视频的SDK,导入demo项目时,发现两个问题: 1.频繁报错AAPT2 error: file not found.以为直接Sync重新编译就可以,但是仍旧频繁提醒引入资源错误. 查找 ...

  8. ubuntu、linux更换pip源

    1.创建pip配置文件 vi ~/.pip/pip.conf 2.写入配置内容 [global] trusted-host = mirrors.aliyun.com index-url = http: ...

  9. 并查集【p1197】[JSOI2008]星球大战

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  10. next_permutatio

    next_permutation的函数声明:#include  <algorithm> bool next_permutation( iterator start, iterator en ...