如何在 Postman 中删除会话 cookie?

Posted

技术标签:

【中文标题】如何在 Postman 中删除会话 cookie?【英文标题】:How to delete session cookie in Postman? 【发布时间】:2015-04-03 00:35:00 【问题描述】:

我正在 Postman 中测试我的 API,但无法模拟注销

如果我调用删除会话 cookie, 之后会话 cookie仍然存在,我仍然能够访问需要身份验证的路由。

服务器上的路由处理器是:

  server.route(
    method: 'DELETE',
    path: '/sessions/_current',
    handler: function(req, reply)
      req.auth.session.clear();
      reply().code(204);
    
  );

这是带有 Hapi 的 Node.js,但没关系。

有没有办法删除 Postman 中的所有 cookie手动删除某些 cookie

【问题讨论】:

【参考方案1】:

Postman 4.0.5 有一个名为 Manage Cookies 的功能,位于 Send 按钮下方,它似乎与 Chrome 分开管理 cookie。

【讨论】:

如果您从蓝色发送按钮的右下边缘向下移动 2 厘米和向右移动 1 厘米,则会有一个 cookie 按钮 :) @utkarshdubey nope 据我所知,如果有人想知道,这仅在“本机应用程序”而不是 Chrome 扩展程序中可用。 在当前版本的 Postman 独立版 (v5.5.0) 中,此“Cookies”链接直接位于“发送”和“保存”按钮下方。截图如下@moplin 哇,这太棒了,我一直在努力寻找为什么在请求新的 oAuth2 访问令牌时我的凭据被存储,这帮助我能够清除会话详细信息并再次提示登录! 【参考方案2】:

在 chrome 浏览器中手动删除它会从 Postman 中删除 cookie。

在您的 chrome 浏览器中转到 chrome://settings/cookies

找到cookie并将其删除

编辑: 根据下面的 Max890 评论(在我的 Google Chrome 版本(版本 63)中),现在是 chrome://settings/content/cookies 然后转到“查看所有 cookie 和站点数据”

Google Chrome 79.0.3945.88 更新

chrome://settings/siteData?search=cookies

【讨论】:

我也从 chrome 和 cmd 行中清除了 cookie,但邮递员仍然有会话数据。 这也适用于“新”邮递员独立应用程序。别再看了! 这只有在您安装了邮递员拦截器扩展并启用它时才有效,否则您将在邮递员的发送按钮下方获得 cookie 选项。 2017年的链接现在是chrome://settings/content/cookies 这个答案已经过时了。【参考方案3】:

正如@markus 所说,使用“Cookie 管理器”并删除 cookie。

如果你想学习如何在 postman 中设置销毁 cookie,你应该查看 Postman Echo 服务https://docs.postman-echo.com/

您将在此处找到有关如何设置、获取和删除这些 cookie 的完整说明。

查看:https://docs.postman-echo.com/#3de3b135-b3cc-3a68-ba27-b6d373e03c8c

试一试。

【讨论】:

【参考方案4】:

请注意,此答案仅适用于独立 Postman UI,不适用于 Chrome 的 Postman 应用/插件。

如何在Postman中清除缓存(比如请求token时需要重新登录):

导航至查看:显示 DevTools 导航到应用程序选项卡,然后在左侧菜单中的清除存储视图 取消选择除缓存存储以外的所有选项,然后单击“清除站点数据” 重启邮递员 现在应该在请求新令牌时提示您再次登录

【讨论】:

我刚刚清除了全局存储,它删除了所有邮递员集合、配置等。您可能想在答案中添加警告!【参考方案5】:

Native Postman 应用程序中有“Cookie 管理器”,所以这根本不是问题,

但在 Chrome 的 Postman 扩展中没有

所以解决办法就在安装本机 Postman 中

Postman for Linux, Mac & Windows

【讨论】:

【参考方案6】:

邮递员拦截器是否启用?切换它将通过 Chrome 浏览器路由所有请求和响应。

拦截器 - https://www.getpostman.com/docs/capture Cookie 文档 - http://blog.getpostman.com/index.php/2014/11/28/using-the-interceptor-to-read-and-write-cookies/

【讨论】:

是的。我在打开和关闭拦截器的情况下都进行了测试,cookie 仍然存在。 使用 Postman 4.7.1 为我工作(安装拦截器,重新运行 Postman 并在 Postman 中激活拦截器)【参考方案7】:

自 2019/08 起,新版本的邮递员应用程序能够在预请求或测试脚本中以编程方式执行此操作

在此处查看更多示例:Delete cookies programmatically · Issue #3312 · postmanlabs/postman-app-support

清除所有 cookie

const jar = pm.cookies.jar();

jar.clear(pm.request.url, function (error) 
  // error - <Error>
);

获取所有 cookie

const jar = pm.cookies.jar();

jar.getAll('http://example.com', function (error, cookies) 
  // error - <Error>
  // cookies - <PostmanCookieList>
  // PostmanCookieList: https://www.postmanlabs.com/postman-collection/CookieList.html
);

获取特定的cookie

const jar = pm.cookies.jar();

jar.get('http://example.com', 'token', function (error, value) 
  // error - <Error>
  // value - <String>
);

【讨论】:

【参考方案8】:

进入 Chrome,右键单击 -> 检查元素。转到选项卡主动跟踪资源,如果您还没有。现在左侧边栏向下,直到您看到“Cookies”,单击您的域名下方并删除 cookie,只需右键单击它并“删除”

【讨论】:

【参考方案9】:

您可以使用 Postman 拦截器。您可以通过此链接将其添加到 chrome 扩展中:https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo

这有助于您通过 Postman 应用发送使用浏览器 cookie 的请求。 它还可以发送通常受 Chrome 限制但对于测试 API 至关重要的标头。

您也可以通过橙色同步图标旁边的拦截器启用

【讨论】:

【参考方案10】:

作为此处给出的答案之一,我尝试清除 chrome cookie 以摆脱邮递员 cookie。但这对我不起作用。 我检查了我的邮递员版本,发现它是旧版本 5.5.4。 所以我只是尝试将 Postman 更新到其最新版本 7.3.4。 酷,问题解决了!!

【讨论】:

【参考方案11】:

我认为对于包含变量的 URL 可以增强 aaron 的响应:

var sdk = require('postman-collection');      

const testURL=pm.environment.values.substitute(pm.request.url, null, false);

const objURL=new sdk.Url(testURL);

console.log("clearing cookies for: "+testURL);

const jar = pm.cookies.jar();

jar.clear(objURL, function (error) 
  // error - <Error>
  if(error)
  console.log("Error clearing cookies: "+error);
);

【讨论】:

【参考方案12】:

你试过Clear Cache extension吗?试一试。它清除应用程序缓存、下载、文件系统、表单数据、历史记录、本地存储、密码等等,可在选项设置中使用。

更新:试试这个答案https://superuser.com/a/232794

我不确定在 Postman 中有什么方法可以做到这一点。我曾经关闭整个浏览器并重置服务器以再次进行身份验证。从未测试过注销,因为它是一项 API 服务。

【讨论】:

以上是关于如何在 Postman 中删除会话 cookie?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Postman 在我的 React 应用程序中接收到 express 会话 cookie 而不是我的 post 请求

如何删除所有会话和 cookie

postman怎么清除cookie

如何从我的 iOS 应用程序中删除 Twitter 的会话和 cookie

在 PHP 中删除 JavaScript 会话 Cookie [重复]

django:我们可以通过邮递员中的cookie通过会话ID并登录吗