今天要简单讲一下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. C++学习笔记之——内联函数,引用

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 作者:晨凫 ...

  2. algorithm ch2 Merge_sort

    这是用分治法来对序列进行排序,将较长的一个序列分解为n个比较短的序列,然后分别处理这n个较小的段序列,最后合并.使用递归的来实现. 具体实现的代码如下: void MergeSort(int *A, ...

  3. VS mfc MessageBox() 和 AfxMessageBox()

    转载:http://blog.csdn.net/phenixyf/article/details/41744039 一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 ...

  4. (12)Linux shell之read 用法

    Linux shell之read 用法 #!/bin/bash#read 用来读取屏幕输入或是读取文件内容.read -p  "please input you  name: " ...

  5. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

  6. Perl语言入门--3--文件读取与写入

    现有文件test.txt,内容为:"123\n456" 1,打开文本test.txt #!/usr/bin/perl open d,"test.txt"; d ...

  7. Multi-Paxos协议日志同步应用

    使用Multi-Paxos协议的日志同步与恢复 基于Basic-Paxos协议的日志同步方案, 所有成员的身份都是平等的, 任何成员都可以提出日志持久化的提案, 并且尝试在成员组中进行持久化. 而在实 ...

  8. [ 总结 ] Linux系统测试硬盘I/O

    检测硬盘I/O相对来说还是一个比较抽象的概念,但是对系统性能的影响还是至关重要的. (1)使用hdparm命令检测读取速度:    hdparm命令提供了一个命令行的接口用于读取和设置IDE和SCSI ...

  9. 【 Tomcat 】后端tomcat获取真实IP

    环境: nginx + tomcat nginx.conf 配置: proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_ad ...

  10. admin管理工具

    admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...