今天要簡單講一下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會顯示一個小圖標。點擊以后,選擇Open ModifyHeaders 打開編輯窗口。默認狀態下我們會處於Headers標簽下,這也是對我們來說最重要的部分。在界面上方有個Select action的下拉菜單,這里可以選擇對Header中的Header Name進行Add, Modify or Filter等操作。在我的實際使用中,我用的是Add偏多。
選擇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就已經足夠了。