如何抓取winhttp接口的請求

轉載

江湖傳言,F(xiàn)iddler是捕獲客戶端與服務器之間的所有HTTP(S) 請求的利器,但是在具體使用過程中,發(fā)現(xiàn)使用Fiddler進行抓包時有一部分請求總是沒到,多方苦尋之下發(fā)現(xiàn)客戶端使用WinINET這套API發(fā)送的請求都能正常抓到,而使用WinHTTP這套API發(fā)送的請求都沒有抓到,遂搜索了一下,發(fā)現(xiàn)Fiddler對各種HTTP(s) stacks都是能支持的,只是默認啟動時只是接管了WinINET代理設置。

分析

為了讓Fiddler能夠抓取WinHTTP的包,需要做的就是讓WinHTTP的代理設置改為與WinINET一致,因為WinINET在Fiddler啟動后使用Fiddler作為代理。這些通過windows自帶命令就可以做到:

在XP下: proxycfg -u

在Win7下(使用管理員權限的命令行):netsh winhttp import proxy ie

注:在Win7 64位系統(tǒng)下需要將Synstem32 目錄和SysWOW64目錄下的netsh命令各執(zhí)行一次,下方將給出的腳本已覆蓋這種情況。

但是如果使用頻繁,每次都還要去手動敲命令行還是挺痛苦的,作為能偷懶的地方絕不多放過的少年,一勞永逸的方法當然是讓它隨Fiddler的啟動與關閉自動執(zhí)行這些命令

實現(xiàn)

這可以通過修改CustomRules.js實現(xiàn)。操作方法:打開Fiddler > 點擊菜單Rules > 點擊Customize Rules...

打開CustomRules.js文件后,尋找到OnAttach與OnDetach函數(shù),可以將Fiddler啟動后與關閉前需要定制的一些自動動作分別填寫在它們里頭,為實現(xiàn)讓Fiddler能抓取WinHTTP發(fā)送的請求的目的而修改后的代碼如下,添加了? UpdateWinHTTPSettings函數(shù),在OnAttach和OnDetach里添加了對它的調用,修改完后保存,重新啟動Fiddler即可生效:

注:UpdateWinHTTPSettings函數(shù)里做的事情其實很簡單,就是使用管理員權限執(zhí)行文章前面說到的命令

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 本文章轉載于搜狗測試 背景 江湖傳言,F(xiàn)iddler是捕獲客戶端與服務器之間的所有HTTP(S) 請求的利器,但是...
    夜境閱讀 394評論 0 0
  • 原因 在現(xiàn)實項目中,由于開發(fā)的經(jīng)常調試,接口的不穩(wěn)定,和接口文檔的不及時更新,我們選擇做接口測試,更多的需要自己抓...
    我為峰2014閱讀 3,482評論 1 5
  • Fiddler工具簡介 Fiddler是最強大最好用的Web調試工具之一,它能記錄所有客戶端和服務器的http和h...
    nayli閱讀 5,094評論 0 36
  • Fiddler_官方網(wǎng)站Fiddler_官方文檔Fiddler_官方視頻Fiddler_官方插件1、Filddle...
    52Alice閱讀 8,019評論 0 10
  • 每天來碗毒雞湯,沒有負能量哪有正能量! 每日推送負能量小漫畫,不喜請自行繞道! 看著人家裝逼,心里是不是不爽, 但...
    Walliswang9閱讀 307評論 0 0

友情鏈接更多精彩內容