Charles規(guī)則配置
背景
開發(fā)的App中一部分請求開啟了本地證書校驗咖为,使Charles默認的ssl證書無效揣炕。從而導致在使用charles抓包時一些接口不通帘皿,有的還是關鍵接口,此時就必須改代碼/關代理才能走通流程畸陡,影響開發(fā)和測試的效率鹰溜。
那么是否可以讓那些接口繞過charles呢?
查閱Charles官方文檔丁恭,發(fā)現(xiàn)在手機端配置代理時曹动,不僅可以用手動配置,也可以用自動配置 charlesproxy
實際上是chls.pro服務返回一個.pac文件牲览,通過.pac文件自動配置墓陈。那么我自己寫一個pac是不是就可以滿足QA的需求了呢?
查閱pac文件相關文檔 寫了個pac文件第献,自己再搭個python本地服務器贡必,搞定。
詳細步驟
1.編寫PAC文件
pac使用javascript語言庸毫,只要實現(xiàn)FindProxyForURL
即可仔拟。
以下代碼為m.baidu.com
域名下的直連,其他的走代理
function FindProxyForURL(url, host) {
if (host=="m.baidu.com") {
return 'DIRECT;';
}
return 'PROXY <your ip address>:8888;';
}
新建~/pac
目錄 保存到~/pac/chls.pac
2.啟動python服務
cd ~/pac;python -m SimpleHTTPServer
可以在本地打開http://localhost:8000 測試一下
3.鏈接代理
設置->無線局域網(wǎng)->打開你連接的Wi-Fi->HTTP代理->自動
輸入http://<your ip address>:8000/chls.pac
4.enjoy it!??
當然岔绸,你也可以把配置放在遠程服務器上理逊,本地寫一個同步ip的腳本