1. 程式人生 > >Fiddler 反向代理除錯:修改http請求、修改http響應

Fiddler 反向代理除錯:修改http請求、修改http響應

Fiddler 抓包除錯

Fiddler 是一款功能強大的 http 抓包工具,對於 http 請求響應抓包除錯十分實用,可以很方便檢視 http 請求,http 響應的內容,修改 http 請求後重新發送,攔截 http 響應修改後重新響應;

Fiddler 基本介面介紹

以下是 fiddler 主介面的工具欄

其中“切換代理模式”,fiddler 有以下 2 種代理模式:

緩衝模式:http 請求把所有資料緩衝結束後,再返回給客戶端;

流模式:實時把伺服器的資料返回給客戶端;

請求響應除錯工具欄常用元件面板介紹:

  • Statistics:顯示當前使用者選擇的 Sessions 的彙總資訊;
  • Inspectors:允許使用多種不同格式檢視每個請求和響應的內容;
  • AutoResponder:將某一請求的響應結果替換成指定的資源;
  • Composer:建立自定義 http 請求,用於除錯後端介面十分方便;
  • Filters:過濾器功能,用於對請求進行自定義規則過濾;
  • Timeline:用於分析請求響應時間,類似於 chrome network 除錯面板的請求時間線;

Fiddler 反向代理除錯

解決抓取 https 連線返回 443 問題

如果抓包請求為 https 請求,fiddler 會預設返回443埠無法解析的記錄,類似如下:

進入【Tools -> Options -> HTTPS】, 勾選 Capture HTTPS traffic,Decrypt HTTPS traffic,之後重新啟動 fiddler

過濾 http 請求

進入 Filter 面板,勾選 Use Filters 選項,比如需要只顯示“api.bilibili.com”主機下的請求,可以如以下設定:

當然 Fileters 還有十分豐富的過濾配置,可以根據需求進行相應的請求過濾配置,如 Client process 可以對請求來源進行過濾,Request Headers 可以對請求頭進行過濾,Response Status Code、Response Typeand Size 可以對響應狀態碼、響應型別進行配置;

修改重發 http 請求

Fillder 一個十分實用的功能,就是可以修改攔截到的 http 請求,修改請求引數後重新發送改請求,這個功能對於後端介面的除錯十分方便(因為有些 http 請求需要驗證 session,cookie 等資料,如果手動編寫請求指令碼,還原引數部分十分麻煩),特別是後端 web controller 相應的介面有比較複雜的條件判斷分支,如果僅僅靠客戶端介面去修改資料傳送請求,有些判斷分支的進入場景是十分難以再現的,使用這個功能可以直接修改請求引數,儘可能達到後端介面 controller 的每一個判斷分支;

以下以更改 bilibili 視訊詳情頁評論介面 https://api.bilibili.com/x/v2/reply?callback=jQuery17203964950070835611_1531888910878&jsonp=jsonp&pn=1&type=1&oid=26473757&sort=0&_=1531888915223,分頁引數為例:

  • 右鍵指定請求,點選 Unlock For Editing 

  • 在 Inspectors 頁中修改 Request Headers 中的分頁 pn 請求引數(pn),因為該請求為 GET 請求,請求引數放置在 url 中,可以直接這樣操作,如果是 POST 請求等把請求引數放置在請求正文中(表單形式、json、xml 等),可以在 TextView 或 SyntaxView 頁中修改該請求引數;

  • 右鍵該請求,選擇  Replay -> Reissue Requests,即可獲取該請求修改引數後返回的 http 響應;

修改重發 http 響應

同樣的,Fiddler 也可以修改某個請求的響應正文,之後再該攔截該請求,自動將響應正文替換為修改後的響應正文,這個功能主要用在前端頁面的除錯上面,十分方便,無需後端介面編寫某些特定的返回值,同時對比 chrome 自帶的 source 工具,又具有跨頁面除錯的優勢;

  • 解鎖該請求,同修改 http 請求步驟一樣,右鍵請求,選擇 Unlock For Edit;
  • 在 Inspectors 面板中,在響應部分的 SyntaxView 或 TextView 修改響應的引數;

  • 直接拖動該請求到 AutoResponder ,勾選 Enable rules,Unmatcjed requests passthrough 

  • 重新重新整理瀏覽器頁面,或者進行任何可以重新觸發該請求的操作,可以在前端頁面看到該響應資料被修改後的情況;

相關推薦

Fiddler 反向代理除錯修改http請求修改http響應

Fiddler 抓包除錯 Fiddler 是一款功能強大的 http 抓包工具,對於 http 請求響應抓包除錯十分實用,可以很方便檢視 http 請求,http 響應的內容,修改 http 請求後重新發送,攔截 http 響應修改後重新響應; Fiddler 基

Jmeter取樣器http請求FTP請求

性能測試 sample sel 就會 交互 remote 原因 Coding logic 1.1.1 取樣器 8類可執行的元件中,取樣器是典型的不與其他元件發生交互作用的元件,邏輯控制器指對其子節點的取樣器有效,而其他元件(配置元件、定時器、斷言、監聽器)需要與取

NGINX 反向代理錯誤104: Connection reset by peer

轉: https://my.oschina.net/u/1024107/blog/1838968 此問題在於 nginx的buffer太小,timeout太小。 http模組新增以下引數配置: client_body_buffer_size 20m; fastcgi_buf

反向代理使用https協議,後臺tomcat使用http,redirect時使用錯誤協議的解決辦法

問題描述今天遇到一個奇怪的現象,原先部署在外網訪問的應用某些功能出現了異常錯誤,用chrome開發者工具除錯後發現一個奇怪的錯誤:意思基本上就是當前頁面是https協議載入的,但是這個頁面發起了一個http的ajax請求,這種做法是非法的。現象進一步分析後發現以下三個現象:在

使用nginx搭建前端專案web伺服器以及利用反向代理除錯遠端後臺介面

今天給大家介紹的是在前後端分離的趨勢下,前端同學們利用nginx來開發和除錯自己的前端專案。 換做以前,大家正常的前端除錯流程可能是這樣的。 1、首先搭建好後臺的語言環境 2、把後臺程式碼拉到本機 3、通過啟動 tomcat或者是apache。 4、開啟網頁正常除錯 這樣的

240day(Fiddler反向代理-AutoResponder簡單瞭解)

陳國佳總結《2018年6月7日》【連續240天】標題:Fiddler反向代理-AutoResponder簡單瞭解;內容:反向代理-AutoResponder:1。開啟隨意一個網頁http://www.baidu.com/2.選中記錄,右擊-勾選“Unlock fo Editi

nginx反向代理tomacat+keepalived實現動靜分離負載均衡高可用

時間 超時 error css 權限命令 上傳 轉發 onf ioc 本文的動靜分離主要是通過nginx+tomcat來實現,其中nginx處理圖片、html、JS、CSS等靜態文件,tomcat處理jsp、servlet等動態請求 服務器名稱

HTTP請求格式和HTTP響應格式

uri private req upn 6.0 cti sts jpg set HTTP請求格式 "GET {} HTTP/1.1\r\nhost: {}\r\nConnection\r\n\r\n".format(path, host) Request H

深入Nginx之《HTTP請求報文與HTTP響應報文》

分組 value align 後端服務 請求超時 odin cep 問題 ati HTTP請求報文 這個很有必要了解,好歹我們得知道Nginx在提供HTTP服務時,客戶端都會傳些什麽。HTTP請求中客戶端傳送的內容稱為HTTP請求報文。 1、請求行包含: 請

[轉]ionic3項目實戰教程三(創建providerhttp請求圖文列表滑動列表)

獲取 The cto avatar 設置 ddd ctp itl promise 本文轉自:https://blog.csdn.net/lyt_angularjs/article/details/81145468 版權聲明:本文為博主原創文章,轉載請註明出處。謝謝! ht

Charles抓包修改請求修改返回弱網設定

Charles是一款常用的抓包工具,抓包工具可以擷取通過它設定代理伺服器下所有通過他發起與返回的網路請求,和fiddler、wireshark,原理是一樣的。 Charles主要功能有: 1、擷取各種協議的網路包 2、支援修改請求引數 3、支援修改返回結果 4、支援模擬弱

大資料(二十)hive分割槽表修改表語句與資料的匯入匯出

一、分割槽表         分割槽表實際上就是對應一個HDFS檔案系統上的一個獨立的資料夾,該資料夾下是該分割槽所有的資料檔案,hive中的分割槽就是分目錄,把一個大的資料集更具業務需求分割成小的資料集。在查詢時通過where子句中的

http請求陣列物件

http請求 get:查詢字串(名稱/值對)是在 GET 請求的 URL 中傳送的。 ?name1=value1&name2=value2 post:查詢字串(名稱/值對)是在 POST 請求的 HTTP 訊息主體中傳送的。 body: {

Nginx反向代理後端多個TomcatNginx+PHP伺服器(Nginx的代理和負載功能)

需求分析:     現有3個二級域名,一個IP地址,要實現將這3個域名通過1個IP地址對外提供web服務,可使用IP+埠的方式對域名進行解析,且互不影響。如: Domain1:www.huangming.org  

Netty4實現HTTP請求響應

前言: 我們所編寫的專案多以BS為主,使用者通過瀏覽器訪問我們的伺服器 傳送的請求以HTTP請求為主,本例就以Netty4來實現一個接收HTTP請求的伺服器,並根據使用者請求返回響應 1.Netty中HTTP請求和響應類 請求(FullHttpRequest)

網路程式設計--http請求響應網頁

網路程式設計–http請求、響應網頁 http協議是一個tcp應用層的超文字傳輸協議,主要是對網頁的傳輸和資料的傳輸 http傳輸過程: 一端通過http請求的格式傳送具體請求內容,另一端接收http請求,按照協議 格式進行解析,獲取真實請求後按照http協議響

HTTP請求合併 vs HTTP並行請求

今天專案遇到一個問題,請求合併和請求拆解哪一個效率更高,一直我都是認為請求合併比拆解效率上來說更好,但是其實並不是這麼回事。 瀏覽器是可以並行下載資源的,將多個資源合併成一個資源,只使用一個HTTP請求下載,不一定會比用多個HTTP請求並行下載沒有合併過的多個資

HTTP請求報文和HTTP響應報文

1.一次完整的HTTP請求所經歷的7個步驟 HTTP通訊機制是在一次完整的HTTP通訊過程中,Web瀏覽器與Web伺服器之間將完成下列7個步驟:  1. 建立TCP連線 在HTTP工作開始之前,Web瀏覽器首先要通過網路與Web伺服器建立連線,該連線是通過TCP來完成的,該協議與IP協議共同構建 Int

HTTP請求報文和HTTP響應報文 -- JAVA 基礎

HTTP報文是面向文字的,報文中的每一個欄位都是一些ASCII碼串,各個欄位的長度是不確定的。HTTP有兩類報文:請求報文和 響應報文。 HTTP請求報文 一個HTTP請求報文由請求行(request line)、請求頭部(header)、空行和請求資料4

http協議解析(http請求方法,http狀態碼)

http即超文字傳輸協議,是一種詳細規定了瀏覽器和全球資訊網伺服器之間相互通訊的規則,它是全球資訊網交換資訊的基礎,它允許將html(超文字標記語言)文件從web伺服器傳送到web瀏覽器 發起htt