完整代碼:https://github.com/yuanyb/http-capture
可以對HTTP(暫不支持HTTPS)請求做攔截,並修改請求信息。 只會攔截POST請求及部分非GET請求,對一些JS、CSS等靜態資源請求不會攔截。
原理就是監聽本地端口,瀏覽器設置好到本地端口的代理,然后程序會對某些請求進行攔截,並進入等待狀態,直到收到了釋放信號。
命令:
- start:
start
進入抓包攔截狀態
- exit:
exit
退出程序
- release:
release
釋放所有請求
- list:
list request
列出當前攔截的所有請求及對應IDlist header -id reqId
列出某個請求的所有Header
- get:
get header -id reqId -h key
獲取某個請求的某個Headerget param -id reqId -p key
獲取某個請求的某個參數(GET&POST)get cookie -id reqId [-c key]
獲取某個請求的Cookie,不提供-c則獲取所有Cookieget body -id reqId
獲取某個請求的Body,僅對POST請求有效
- set:
set header -id reqId -v k=v
設置某個請求的某個Headerset get-param -id reqId -v k=v
設置某個請求的GET參數set post-param -id reqId -v k=v
設置某個請求的POST參數,僅對表單請求有效set cookie -id reqId -v val
設置某個請求的Cookieset body -id reqId -v val
設置某個請求的Body,僅對POST請求有效,可用於修改json
演示:
瀏覽器需要先設置代理,如 localhost:8888