Postman 捕獲 HTTP 請(qǐng)求

2023-04-03 14:58 更新

如果您使用 API 構(gòu)建客戶端應(yīng)用程序,如移動(dòng)應(yīng)用程序、網(wǎng)站或桌面應(yīng)用程序,您可能需要檢查在應(yīng)用程序中發(fā)送和接收的實(shí)際 HTTP 和 HTTPS 請(qǐng)求流量。有時(shí)您可能會(huì)發(fā)現(xiàn)甚至沒(méi)有記錄的 API。您可以使用 Postman 中內(nèi)置的代理來(lái)捕獲網(wǎng)絡(luò)流量,包括請(qǐng)求、響應(yīng)和 cookie。

您還可以使用 Postman 代理自動(dòng)將 cookie 從 Chrome 瀏覽器同步到 Postman cookie jar。了解有關(guān)同步 cookie 的更多信息。

內(nèi)置代理的工作原理

Postman 應(yīng)用程序有一個(gè)內(nèi)置代理,可以捕獲 HTTP 和 HTTPS 流量。它是這樣工作的:

  1. Postman 應(yīng)用程序偵聽(tīng)客戶端應(yīng)用程序或使用代理的設(shè)備發(fā)出的任何調(diào)用。
  2. Postman 代理捕獲請(qǐng)求并將其轉(zhuǎn)發(fā)到服務(wù)器。
  3. 服務(wù)器將響應(yīng)返回給 Postman 代理,也可以將響應(yīng)保存在該代理中。
  4. 響應(yīng)返回給客戶端。

郵遞員捕獲代理

Interceptor Chrome 擴(kuò)展類似,Postman 應(yīng)用程序代理會(huì)攔截并捕獲您的請(qǐng)求。此外,它還可以捕獲響應(yīng)和 cookie。

啟動(dòng) Postman 代理后,您可以啟動(dòng)代理調(diào)試會(huì)話,這是一個(gè)限時(shí)的流量捕獲會(huì)話。您可以啟動(dòng)、暫停和停止代理調(diào)試會(huì)話,然后再啟動(dòng)另一個(gè)。每個(gè)調(diào)試會(huì)話都記錄在“歷史記錄”選項(xiàng)卡中,并顯示總會(huì)話時(shí)間、流量概覽和捕獲的所有流量。您還可以向集合發(fā)送請(qǐng)求和響應(yīng),并將 cookie 保存到 Postman cookie jar。

使用 Postman 代理

在下面的步驟中,您將使用 Postman 應(yīng)用程序的代理來(lái)檢查進(jìn)出手機(jī)的 HTTP 通信。首先,請(qǐng)確保您的計(jì)算機(jī)和手機(jī)連接到同一本地?zé)o線網(wǎng)絡(luò)。

第 1 步:?jiǎn)⒂么?/h3>
您不能將 Postman 代理與Postman 網(wǎng)絡(luò)應(yīng)用程序一起使用。確保您已經(jīng)安裝了Postman 桌面應(yīng)用程序。
  1. 在 Postman 頁(yè)腳中選擇 捕獲圖標(biāo) 捕獲請(qǐng)求。
  2. 在“捕獲請(qǐng)求”窗口中,選擇“通過(guò)代理”選項(xiàng)卡。通過(guò)代理選項(xiàng)卡捕獲
  3. 在右上角,選擇啟用代理。
  4. 輸入端口號(hào)。默認(rèn)情況下,它設(shè)置為端口5555。記下您使用的端口號(hào);稍后您將在配置客戶端時(shí)使用它。
  5. 選擇啟用代理。

代理正在運(yùn)行,但在您啟動(dòng)代理調(diào)試會(huì)話之前它不會(huì)捕獲流量。

第 2 步:?jiǎn)?dòng)代理調(diào)試會(huì)話

代理運(yùn)行后,您可以啟動(dòng)代理調(diào)試會(huì)話。這是一個(gè)有時(shí)限的會(huì)話,其中捕獲的流量保存在“歷史記錄”選項(xiàng)卡的一個(gè)條目中,并且可以選擇保存到一個(gè)集合中。代理調(diào)試會(huì)話啟動(dòng)后,您可以暫停、重新啟動(dòng)或停止它。在開(kāi)始會(huì)話之前,您可以選擇要進(jìn)入的流量。

您只能同時(shí)運(yùn)行一個(gè)代理或攔截器調(diào)試會(huì)話。

要啟動(dòng)代理調(diào)試會(huì)話,請(qǐng)執(zhí)行以下操作:

  1. 轉(zhuǎn)到“捕獲請(qǐng)求”窗口的“通過(guò)代理”選項(xiàng)卡。
  2. 選擇保存請(qǐng)求的響應(yīng)以保存每個(gè)請(qǐng)求的響應(yīng)。它們將與捕獲的請(qǐng)求一起保存。在具有圖像、音頻或視頻的響應(yīng)中content-type,內(nèi)容會(huì)被攔截但不會(huì)被捕獲。捕獲的唯一信息是響應(yīng)標(biāo)頭、花費(fèi)的時(shí)間和狀態(tài)代碼。
  3. 如果您希望在調(diào)試會(huì)話期間除了請(qǐng)求之外還捕獲 cookie,請(qǐng)選擇捕獲 Cookie 。您還可以捕獲 cookie 并將它們同步到 Postman,而無(wú)需啟動(dòng)調(diào)試會(huì)話。了解有關(guān)同步 cookie 的更多信息。
  4. 請(qǐng)求將保存在側(cè)邊欄“歷史記錄”選項(xiàng)卡中的調(diào)試會(huì)話中。選擇將請(qǐng)求保存到集合并從列表中選擇一個(gè)集合以將請(qǐng)求也保存在那里。要?jiǎng)?chuàng)建用于保存請(qǐng)求的新集合,請(qǐng)輸入新集合的名稱并選擇創(chuàng)建操作。
  5. 如果您將請(qǐng)求和響應(yīng)保存到集合中,它們將默認(rèn)按時(shí)間順序添加。您也可以將它們分組到按域名或端點(diǎn)組織的文件夾中。在Organize requests by下,選擇Domain name、Endpoints或兩者。然后,您的請(qǐng)求和響應(yīng)將組織在所選集合中的文件夾中。
  6. 在Configure Incoming Requests下,您可以使用更多選項(xiàng)來(lái)限制捕獲的請(qǐng)求和響應(yīng):URL 必須包含- 只捕獲包含指定字符串或正則表達(dá)式的 URL。URL 不能包含- 不要捕獲包含指定字符串或正則表達(dá)式的 URL。方法- 僅捕獲選定的方法。資源- 排除具有圖像、JS 或 CSS 響應(yīng)的請(qǐng)求。
  7. 選擇開(kāi)始捕捉。

代理調(diào)試會(huì)話已啟動(dòng),但在設(shè)備配置代理之前它不會(huì)捕獲任何內(nèi)容。

第 3 步:在客戶端設(shè)備上配置代理

  1. 查找運(yùn)行代理的機(jī)器的本地 IP 地址:在 macOS 上,您可以在System Preferences > Network中找到計(jì)算機(jī)的 IP 地址。選擇一個(gè)網(wǎng)絡(luò)接口,右側(cè)會(huì)顯示您系統(tǒng)的IP地址:系統(tǒng)偏好在 Windows 上,選擇開(kāi)始 > 設(shè)置 > 網(wǎng)絡(luò)和互聯(lián)網(wǎng) > Wi-Fi或以太網(wǎng)。您的 IP 地址列在屬性下。
  2. 打開(kāi)客戶端設(shè)備的無(wú)線設(shè)置并更新網(wǎng)絡(luò)連接配置以使用 HTTP 代理。例如,在 iOS 中:選擇設(shè)置 > Wi-Fi。選擇 信息圖標(biāo) Wi-Fi 連接旁邊的。選擇HTTP 代理 > 配置代理 > 手動(dòng)。將服務(wù)器和端口設(shè)置為本地 IP 地址和代理端口。選擇保存。
  3. 在 Postman 應(yīng)用程序中,打開(kāi)代理調(diào)試會(huì)話窗口。打開(kāi)設(shè)備的網(wǎng)絡(luò)瀏覽器或應(yīng)用程序,HTTP 流量將開(kāi)始通過(guò)應(yīng)用程序或?yàn)g覽器。

在其他設(shè)備上配置代理

更廣泛的開(kāi)發(fā)社區(qū)發(fā)布了一些有用的教程,用于在各種操作系統(tǒng)上設(shè)置代理服務(wù)器:

第 4 步:運(yùn)行代理調(diào)試會(huì)話

當(dāng)您的捕獲會(huì)話正在運(yùn)行時(shí),代理調(diào)試會(huì)話窗口將在您使用客戶端設(shè)備上的瀏覽器或應(yīng)用程序時(shí)顯示捕獲的流量。

您可以使用多種控件來(lái)限制、組織和調(diào)查捕獲的流量:

  • 選擇名稱Proxy debug session并輸入另一個(gè)名稱以更改窗口名稱。
  • 窗口頂部的配置傳入請(qǐng)求控件使您能夠限制捕獲的流量。從Methods、Status Codes、Resources和URL中選擇項(xiàng)目以限制流量。這些控件類似于您最初在上面的第 2 步中設(shè)置的控件,但它們限制捕獲的內(nèi)容,而不是通過(guò)代理的內(nèi)容。
  • 選擇或取消選擇“保存請(qǐng)求的響應(yīng)”和“捕獲 Cookie”以選擇是收集響應(yīng)還是收集 Cookie。
  • 選擇Requests選項(xiàng)卡以獲取有關(guān)傳入請(qǐng)求和響應(yīng)的信息,或選擇Cookies以獲取有關(guān)捕獲的 cookie 的信息。
  • 使用搜索框查找特定請(qǐng)求。
  • 選擇請(qǐng)求旁邊的>以展開(kāi)它以了解更多詳細(xì)信息。
  • 在URL列中選擇 URL以在 Postman 中將請(qǐng)求作為新的 API 請(qǐng)求打開(kāi)。
  • 在請(qǐng)求列表下方,有一些控件可以更改發(fā)送流量的集合,以及是否需要按域名或端點(diǎn)對(duì)其進(jìn)行分組。

當(dāng)您從“請(qǐng)求”選項(xiàng)卡上的列表中選擇一個(gè)或多個(gè)請(qǐng)求時(shí),您可以使用以下控件:

  • 刪除圖標(biāo) 刪除- 刪除請(qǐng)求。

當(dāng)您從Cookie選項(xiàng)卡上的列表中選擇一個(gè)或多個(gè) cookie 時(shí),您可以使用以下控件:

  • + 添加到 Cookie Jar - 將請(qǐng)求添加到 Postman cookie jar。
  • 刪除圖標(biāo) 刪除- 刪除 cookie。

右下角顯示捕獲會(huì)話的總時(shí)間,以及捕獲流量的總大小。如果您想暫時(shí)停止捕獲會(huì)話,請(qǐng)選擇暫停。要重新啟動(dòng)會(huì)話,請(qǐng)選擇Resume。

第 5 步:停止調(diào)試會(huì)話和代理

完成調(diào)試會(huì)話后,選擇右下角的停止。這將完成調(diào)試會(huì)話,調(diào)試會(huì)話的結(jié)果將保存在“歷史記錄”選項(xiàng)卡中。

停止會(huì)話后,代理仍在運(yùn)行。在 Postman 頁(yè)腳中選擇 捕獲圖標(biāo) 捕獲請(qǐng)求,您可以啟動(dòng)另一個(gè)調(diào)試會(huì)話,或選擇禁用代理以關(guān)閉代理。

第 6 步:查看代理調(diào)試會(huì)話結(jié)果

完成調(diào)試會(huì)話后,會(huì)話的詳細(xì)信息位于歷史選項(xiàng)卡中,名為Proxy debug session。

當(dāng)您打開(kāi)保存的調(diào)試會(huì)話時(shí),頂部標(biāo)題會(huì)顯示會(huì)話開(kāi)始時(shí)間、總大小、持續(xù)時(shí)間和來(lái)源。

概述顯示會(huì)話中捕獲的流量的摘要圖。您可以選擇按方法、域、數(shù)據(jù)模式或返回狀態(tài)代碼匯總流量的圖表。

Requests和Cookies選項(xiàng)卡顯示請(qǐng)求、響應(yīng)和 cookie ,類似于捕獲會(huì)話期間可用的相同選項(xiàng)卡。與第 4 步中描述的搜索、擴(kuò)展、保存和刪除項(xiàng)目的選項(xiàng)相同。您還可以將選定的請(qǐng)求添加到集合中。使用表格底部的控件來(lái)限制每頁(yè)的項(xiàng)目數(shù)并查看結(jié)果頁(yè)面。

您可以通過(guò)在窗口頂部選擇名稱并輸入新名稱來(lái)重命名代理調(diào)試會(huì)話。選擇調(diào)試會(huì)話名稱旁邊的更多操作圖標(biāo) 更多操作圖標(biāo) 以重命名或刪除會(huì)話。

下一步

要同時(shí)從客戶端設(shè)備捕獲 HTTPS 數(shù)據(jù),您需要向客戶端添加證書。有關(guān)詳細(xì)信息,請(qǐng)參閱捕獲 HTTPS 流量。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)