由于想要用windows系統(tǒng)調(diào)試iOS App webview里面的H5頁面,所以找到這個工具,可以console.log信息,方便調(diào)試APP里的網(wǎng)頁。
關(guān)于spy-debugger
一站式頁面調(diào)試、抓包工具。遠程調(diào)試任何手機瀏覽器頁面,任何手機移動端webview(如:微信,HybridApp等)。支持HTTP/HTTPS,無需USB連接設(shè)備。
特性
1、頁面調(diào)試+抓包
2、操作簡單,無需USB連接設(shè)備
3、支持HTTPS。
4、spy-debugger
內(nèi)部集成了weinre
、node-mitmproxy
、AnyProxy
。
5、自動忽略原生App發(fā)起的https請求,只攔截webview發(fā)起的https請求。對使用了SSL pinning技術(shù)的原生App不造成任何影響。
6、可以配合其它代理工具一起使用(默認使用AnyProxy) (設(shè)置外部代理)
使用案例
頁面編輯模式
啟動命令:spy-debugger -w true
weiner頁面調(diào)試界面
anyproxy抓包界面
安裝
Windows 下
npm install spy-debugger -g
Mac 下
sudo npm install spy-debugger -g
三分鐘上手
第一步:手機和PC保持在同一網(wǎng)絡(luò)下(比如同時連到一個Wi-Fi下)
第二步:命令行輸入spy-debugger
,按命令行提示用瀏覽器打開相應(yīng)地址。
第三步:設(shè)置手機的HTTP代理,代理IP地址設(shè)置為PC的IP地址,端口為spy-debugger
的啟動端口(默認端口:9888)。
- Android設(shè)置代理步驟:
設(shè)置 - WLAN - 長按選中網(wǎng)絡(luò) - 修改網(wǎng)絡(luò) - 高級 - 代理設(shè)置 - 手動
- iOS設(shè)置代理步驟:
設(shè)置 - 無線局域網(wǎng) - 選中網(wǎng)絡(luò) - HTTP代理手動
第四步:手機安裝證書。注:手機必須先設(shè)置完代理后再通過(非微信)手機瀏覽器訪問http://s.xxx
(地址二維碼)
安裝證書(手機首次調(diào)試需要安裝證書,已安裝了證書的手機無需重復(fù)安裝)。問題:iOS 10.3.1
以上版本證書安裝問題
第五步:用手機瀏覽器訪問你要調(diào)試的頁面即可。
自定義選項
端口
(默認端口:9888)
spy-debugger -p 8888
設(shè)置外部代理(默認使用AnyProxy)
spy-debugger -e http://127.0.0.1:8888
spy-debugger內(nèi)置AnyProxy提供抓包功能,但是也可通過設(shè)置外部代理和其它抓包代理工具一起使用,如:Charles、Fiddler。
設(shè)置頁面內(nèi)容為可編輯模式
該功能使頁面內(nèi)容修改更加直觀方便。 (默認: false)
spy-debugger -w true
內(nèi)部實現(xiàn)原理:在需要調(diào)試的頁面內(nèi)注入代碼:document.body.contentEditable=true
。暫不支持使用了iscroll框架的頁面。
是否允許weinre監(jiān)控iframe加載的頁面
(默認: false)
spy-debugger -i true
是否只攔截瀏覽器發(fā)起的https請求
(默認: true)
spy-debugger -b false
有些瀏覽器發(fā)出的connect請求沒有正確的攜帶userAgent,這個判斷有時候會出錯,如UC瀏覽器。這個時候需要設(shè)置為false。大多數(shù)情況建議啟用默認配置:true,由于目前大量App應(yīng)用自身(非WebView)發(fā)出的請求會使用到SSL pinning技術(shù),自定義的證書將不能通過app的證書校驗。
是否允許HTTP緩存
(默認: false)
spy-debugger -c true