今天要简单讲一下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就已经足够了。

最新文章

  1. Flex4 vs Flex3: Repeater vs DataGroup
  2. 【分享】iOS功能界面漂亮的弹出框
  3. SOAPFaultException
  4. jquery+ajax(用ajax.dll)实现无刷新分页
  5. MAC mysql安装及设置
  6. Hive体系结构介绍
  7. 使用OpenFileDialog实现图片上传
  8. java中a++与++a区别
  9. HDU 4324 Triangle LOVE 拓扑排序
  10. WEB项目(B/S系统)打包安装(总结篇)
  11. django-xadmin中APScheduler的启动初始化
  12. THUWC2018滚粗记
  13. 用burpsuite暴力破解后台
  14. GO安全并发之无锁原子操作
  15. 如何查询oracle数据库中的各种角色
  16. notify.min.js
  17. SQL Server远程连接 provider: Named Pipes Provider, error: 40 解决方法
  18. qml:: QVariant转为自定义类型
  19. cf478d 线性dp好题
  20. base | Thread类、ThreadData结构体 、CurrentThread命名空间

热门文章

  1. 【JAVA】Eclipse中使用git进行pull远程代码
  2. 使用dd命令克隆整个系统
  3. urlparse获取url后面的参数
  4. Git-cheatsheet
  5. RedHat修改系统时区
  6. docker从零开始 存储(一)存储概述
  7. JSONObject依赖包
  8. jquery禁用select和取消禁用
  9. “equals”和“==”
  10. linux 批量替换所有文件中包含的字符串