postman之cookie管理

postman 官方链接:https://learning.postman.com/docs/postman/sending-api-requests/cookies/

开发接口时,postman作为测试接口的工具非常好用,这里介绍如何使用postman进行cookie管理。

操作步骤:

Cookies

Postman的应用程序提供了 MANAGE COOKIES 模块,可以在域这一级别上管理cookie。如果要使用Postman Interceptor 模块,请参阅Syncing cookies

您可以随时在当前请求的Settings的菜单中打开 Disable cookie jar,以关闭发送Cookie的功能。

Cookie manager 入口

要打开MANAGE COOKIES 模块,请单击Send按钮下的Cookies链接。
在这里插入图片描述
这将打开MANAGE COOKIES 模块,并显示设置的域列表以及与之关联的cookie。

管理Cookie模式

创建cookie

要为一个域添加新的Cookie,单击“Add Cookie”按钮。 这样可以创建根据HTTP状态管理标准预设的cookie字符串,您可以对其进行相应的编辑。单击“ Save”按钮会将其保存到相关域下的cookie列表中。

创建一个cookie

当您向添加了cookie的域发出请求时,该cookie将自动显示在请求的“ headers”选项卡中:单击“hidden”以查看它。

Cookie标题

您不能直接在“headers”标签中覆盖预设的Cookie。要改变这个Cookie,改变你在manage Cookie 模块中的设置(或删除cookies然后手动设置你的headers)。您可以使用Cookies控件添加Cookie,也可以在Headers中手动添加Cookie ,Postman会在发送请求之前将两处设置合并。

添加域

如果要为域列表中不存在的域添加cookie,可以在顶部的输入框中输入主机名(不带端口和http://)来添加一个cookie 。单击添加按钮会将其添加到域列表。然后,可以通过选择该域并如上所述输入新的cookie值来为其添加cookie。

添加域

更新cookie

要更新现有的cookie,在域列表中选中要编辑的域,然后单击要编辑的cookie。您可以编辑任何属性,然后单击“ 保存”进行更新。

更新cookie

通过Set-Cookie header添加Cookie

您还可以通过响应通过Set-Cookie header 来添加/编辑cookie 。

将域列入白名单以以编程方式访问Cookie

要将域列入白名单以便可以通过编程方式访问Cookie,打开 manage cookie模块的界面,单击左下角的“ Whitelist Domains”,然后输入需要列入白名单的域名并添加即可。

Cookie的编程访问

Postman还允许以编程方式访问cookie,即通过特殊方法创建和操作cookie,而不用依赖于图形界面,从而为用户提供了对cookie的更大程度的控制。

对Cookie执行任何类型的操作的第一步就是创建一个Cookie Jar,该对象将包含Cookie和用于对Cookie进行操作的方法。

创建一个Cookie Jar
要创建“Cookie Jar”,请使用pm.cookies.jar()方法。这将创建一个对象,其中包含cookie和访问它们所需的方法。

const cookieJar = pm.cookies.jar();

创建一个cookie

创建Cookie Jar之后,可以通过以下方法将cookie放入其中:

  1. 使用.set()函数设置cookie ,它需要一个URL,一个cookie名称和一个cookie值。
const cookieJar = pm.cookies.jar(); // create a cookie jar
cookieJar.set(URL, cookie name, cookie value, callback(error, cookie)); //创建一个cookie

也可以使用该.set()函数设置PostmanCookie或其兼容的cookie对象。

const cookieJar = pm.cookies.jar(); // create a cookie jar
cookieJar.set(URL, { name: cookie name, value: cookie value, httpOnly: true }, callback (error, cookie)); //创建一个PostmanCookie

获取一个cookie

要获取Cookie,请使用.get()函数。该函数采用URL和所需cookie的名称。它返回cookie的值。

const cookieJar = pm.cookies.jar(); // create a cookie jar

cookieJar.set(URL, cookie name, cookie value, callback(error, cookie)); // create a cookie

cookieJar.get(URL, cookie name, callback(error, cookie)); // get the created cookie

获取 所有cookie

获取特定URL的所有cookie,使用.getAll()函数,它获取URL并返回该URL的所有cookie。

const cookieJar = pm.cookies.jar(); // create the cookie jar

cookieJar.set(URL,first cookie name,first cookie value, callback(error, cookie)); // create one cookie

cookieJar.set(URL,second cookie name,second cookie value, callback(error, cookie)); // create another cookie

cookieJar.getAll(URL, callback(error, cookies)); // get the created cookies

删除一个cookie

要删除Cookie,请使用.unset()函数。它带有一个URL和要删除的cookie的名称。

const cookieJar = pm.cookies.jar(); // create the cookie jar
cookieJar.set(URL, cookie name, cookie value, callback(error, cookie)); // create a cookie
cookieJar.unset(URL , cookie name, callback (error)); // Delete the created cookie

删除所有cookie

清除URL的所有cookie,使用clear()方法。它会删除URL的所有cookie。请注意,.clear()将删除特定URL的所有cookie,但不会删除jar中的所有cookie,因为cookie jar中可能有多个URL的cookie。

const cookieJar = pm.cookies.jar(); // create cookie jar
cookieJar.set(URL,first cookie name,first cookie value, callback(error, cookie)); // set one cookie
cookieJar.set(URL,second cookie name,second cookie value, callback(error, cookie)); // set another cookie
cookieJar.clear(URL, callback (error)); // delete the set cookies

不支持的属性

这是Postman尚不支持的两个属性。

  • SameSite
  • Cookie Prefixes * __Secure- * __Host-
    无论何时添加域,Postman都会从浏览器同步该域的所有cookie。例如,输入“ facebook.com”将同步facebook及其所有子域(m.facebook.com)的cookie。
    postman的拦截器扩展可以保持从浏览器到postman的更新(cookie会从浏览器同步到postman,而不是从postman到浏览器)。这可以让你可以安全的使用浏览器中的任何身份验证会话在Postman中进行API调用,而不用担心这些会被postman保存下来。后续的更新(基于cookie或其他属性)和删除也会同步更新。点击域旁边的“ X”,可以将其从同步集中删除。这只会阻止将来的cookie更新被同步-不会删除已经同步到Postman的cookie。
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值