今天要简单讲一下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. poj 2406 Power Strings(kmp循环节)

    题目链接:http://poj.org/problem?id=2406 题目大意:如果n%(n-next[n])==0,则存在重复连续子串,长度为n-next[n]. 例如:      a    b  ...

  2. pymysql 线程安全pymysqlpool

    # -*-coding: utf-8-*- # Author : Christopher Lee # License: Apache License # File : test_example.py ...

  3. java小工具——timer

    定时器Timer 用途:做定时器用的. public static void main(String[] args) { Timer timer = new Timer(); timer.schedu ...

  4. 生产环境安装centos时的磁盘规划

    一般来说,分区要按照公司领导的要求来执行.但是如果没有要求,一般按照下面的方法进行磁盘规划. /boot分区200M: swap分区分内存的2倍.如果内存大于等于8G,那么swap分8G即可: /分区 ...

  5. centos6.5 中文输入法图标和提示都不见了【解决】

    原因python升级引起的 两步解决: # vi /usr/bin/ibus-setup # vi /usr/libexec/ibus-ui-gtk 把这两个文件中的exec python 修改为 e ...

  6. Codeforces 776 A.Serial Killer-String直接比较是否相同

    A Serial Killer time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  7. Qimage与IplImage的转换

    QImage test2012::ImageCV2Qimg(IplImage* img){ assert(img!=NULL); int h = img->height; int w = img ...

  8. HDU 1014 Uniform Generator(最大公约数,周期循环)

    #include<iostream> #include <cstdio> #include <cstring> using namespace std; int m ...

  9. POJ3026 Borg Maze(Prim)(BFS)

    Borg Maze Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12729   Accepted: 4153 Descri ...

  10. Linux命令之kill

    kill [-s signal | -p] [ --] pid… kill –l [signal] 终止指定进程.命令kill将指定的信号发送到指定的进程或进程组.如果没有指定信号,则发送SIGTER ...