Postman 的 cookie 管理器使您能夠查看和編輯與不同域關(guān)聯(lián)的 cookie。您可以為域手動創(chuàng)建 cookie,也可以使用 Postman 代理或 Postman 攔截器捕獲 cookie 。然后,您可以在 Postman 中發(fā)送請求時使用存儲在 cookie jar 中的 cookie。
要關(guān)閉隨請求發(fā)送 cookie,請選擇請求的“設(shè)置”選項(xiàng)卡,然后選擇“禁用 cookie jar”。
計算機(jī)cookie更正式地稱為 HTTP cookie、網(wǎng)絡(luò) cookie、互聯(lián)網(wǎng) cookie 或?yàn)g覽器 cookie。該名稱是“魔術(shù)餅干”的縮寫版本,“魔術(shù)餅干”是計算機(jī)接收數(shù)據(jù)包然后在不更改或更改的情況下發(fā)回的術(shù)語。
Cookie 通常包含兩部分?jǐn)?shù)據(jù):每個用戶的唯一 ID 和網(wǎng)站名稱。Cookie 使網(wǎng)站能夠在您再次訪問它們時檢索這些信息,以便它們能夠記住您和您的偏好,并根據(jù)這些信息為您定制頁面內(nèi)容。如果沒有 cookie,您在離開網(wǎng)站后必須重新登錄,或者在關(guān)閉網(wǎng)頁后重新構(gòu)建您的購物車。這使得 cookie 成為互聯(lián)網(wǎng)體驗(yàn)的重要組成部分。
要在 Postman 中管理 cookie,請打開一個請求,然后選擇Cookie(在Send下)。
“管理 Cookie”窗口顯示域列表以及與每個域關(guān)聯(lián)的 cookie。如果您想查看列表中不存在的域的 cookie,您可以添加一個域。
要為域添加新的 cookie,請選擇+ 添加 Cookie。創(chuàng)建符合HTTP 狀態(tài)管理標(biāo)準(zhǔn)的預(yù)生成 cookie 字符串。
<cookieName>=<cookieValue>; path=/; domain=.domain.com; HttpOnly; Secure; Expires=Tue, 19 Jan 2038 03:14:07 GMT;
Postman 支持以下屬性:
選擇保存將 cookie 保存到相關(guān)域下的 cookie 存儲中。
您還可以在帶有Set-Cookie 標(biāo)頭的響應(yīng)中添加或編輯 cookie 。
當(dāng)您向已添加 cookie 的域發(fā)出請求時,cookie 將自動出現(xiàn)在您的請求標(biāo)頭選項(xiàng)卡中。如果 cookie 不可見,請選擇隱藏以顯示自動生成的標(biāo)頭。
您不能直接在“標(biāo)頭”選項(xiàng)卡中覆蓋 cookie 標(biāo)頭。在 cookie 管理器中編輯 cookie,或刪除 cookie 并手動設(shè)置您的請求標(biāo)頭。您可以在 cookie 管理器和Headers選項(xiàng)卡中添加 cookie,Postman 會在發(fā)送請求之前合并 cookie。
如果您想查看或添加 cookie 管理器中不存在的域的 cookie,您可以添加一個域。要添加新域,請在框中輸入域名(不要包括端口號或http://),然后選擇添加域。然后您可以為新域添加 cookie。
要更新域的現(xiàn)有 cookie,請選擇您要編輯的 cookie。您可以編輯任何屬性,然后選擇保存以更新。
要刪除域和所有與之關(guān)聯(lián)的 cookie,請選擇 域旁邊的。要刪除單個 cookie,請選擇
cookie 旁邊的。
當(dāng)您將域添加到允許列表時,可以在腳本中訪問該域的 cookie。
要將域添加到白名單,請執(zhí)行以下操作:
您可以通過編程方式創(chuàng)建和刪除 cookie,而不是依賴于圖形界面。這使您可以更好地控制 cookie。
對 cookie 執(zhí)行任何類型操作的第一步是創(chuàng)建一個cookie jar,一個包含 cookie 的對象和將用于對 cookie 進(jìn)行操作的方法。
要創(chuàng)建一個 cookie jar,請使用該pm.cookies.jar()方法。這將創(chuàng)建一個對象來包含 cookie 和訪問它們的方法。
const cookieJar = pm.cookies.jar();
創(chuàng)建 cookie jar 后,您可以將 cookie 放入其中。使用函數(shù)設(shè)置 cookie .set()。此函數(shù)接受一個 URL、一個 cookie 名稱和一個 cookie 值:
// create a cookie
cookieJar.set(URL, cookie name, cookie value, callback(error, cookie));
您還可以PostmanCookie使用以下函數(shù)設(shè)置一個或其兼容的 cookie 對象.set():
// create a PostmanCookie
cookieJar.set(URL, { name: cookie name, value: cookie value, httpOnly: true }, callback (error, cookie));
要檢索 cookie,請使用該.get()函數(shù)。此函數(shù)采用 URL 和所需 cookie 的名稱。它返回 cookie 的值。
// get the created cookie
cookieJar.get(URL, cookie name, callback(error, cookie));
要獲取 cookie jar 中特定 URL 的所有 cookie,請使用該.getAll()函數(shù)。此函數(shù)接受一個 URL 并返回該 URL 的所有 cookie:
// get the created cookies
cookieJar.getAll(URL, callback(error, cookies));
要刪除 cookie,請使用該.unset()函數(shù)。此函數(shù)接受一個 URL 和要刪除的 cookie 的名稱:
// Delete the created cookie
cookieJar.unset(URL , cookie name, callback (error));
要清除 URL 的所有 cookie,請使用該.clear()函數(shù)。此函數(shù)采用您要為其刪除 cookie 的 URL。該.clear()函數(shù)刪除特定 URL 的所有 cookie,但不會刪除 jar 中的所有 cookie,因?yàn)?cookie jar 中可能有多個 URL 的 cookie。
// delete the set cookies
cookieJar.clear(URL, callback (error));
要清除 URL 的所有 cookie .clear(),然后將 cookie 放入 cookie jar .set(),請使用回調(diào)函數(shù)。
函數(shù)調(diào)用異步執(zhí)行。使用回調(diào)函數(shù)確保函數(shù)按順序執(zhí)行:
cookieJar.clear(URL, (error) => {
jar.set(URL, cookie name, cookie value, callback(error, cookie));
});
Postman 不支持以下屬性:
Postman 可以使用 Postman 代理或 Postman 攔截器為瀏覽器或客戶端應(yīng)用程序捕獲 cookie。對于您選擇的域,捕獲的 cookie 會持續(xù)與 Postman cookie jar 同步。這使您能夠使用瀏覽器或客戶端應(yīng)用程序中的任何身份驗(yàn)證會話在 Postman 中進(jìn)行 API 調(diào)用。
了解有關(guān)使用 Postman 代理或 Postman 攔截器捕獲 cookie 的更多信息
更多建議: