最近要錄入接口,一直沒有接口文檔看,這種情況只能自己主動抓包。這時 就可以用到Fiddler 來抓包,保存到本地數據,然后用導入postman 看是否能跑通。。
進入正題:
- 首先你得下個Fiddler (網上一大把)
-
進入Fiddler 后 在右側菜單欄 找到FiddlerScript 並點擊
-
Go to 旁下拉框找到 OnBeforeRequest 並點擊進入到指定代碼層
- 將下代碼 粘到OnBeforeRequest 的函數里頭
-
if (oSession.fullUrl.Contains("填寫需要抓取的域名")) { var fso; var file; fso = new ActiveXObject("Scripting.FileSystemObject"); //文件保存路徑,可自定義 file = fso.OpenTextFile("填寫保存TXT文件地址",8 ,true, true); file.writeLine("Request url: " + oSession.url); file.writeLine("Request header:" + "\n" + oSession.oRequest.headers); file.writeLine("Request body: " + oSession.GetRequestBodyAsString()); file.writeLine("\n"); file.close(); }
-
最后點擊左上方 Save Script 點擊保存腳本 這時就可以抓到 請求的數據 保存本地txt 文件里面啦
同理 想抓到 響應的數據 保存 也是向上圖一樣 。。。
找到 OnBeforeResponse 的函數 將下代碼 粘上 替換數據 保存就可以了啦!!!
還有一點 抓包的時候 會報錯也是正常的行為 可以忽略~
if(oSession.host == 'xxx.com') { var filename = "D:/xxxt"; var logContent = oSession.fullUrl + "\n"; var sw = System.IO.StreamWriter; if (System.IO.File.Exists(filename)) { //是否有該文件夾 sw = System.IO.File.AppendText(filename); //有添加 sw.Write(logContent); } else{ sw = System.IO.File.CreateText(filename); //沒有創建 sw.Write(logContent); } sw.Close(); sw.Dispose();