如何删除 Postman 中的会话 cookie?
How to delete session cookie in Postman?
我正在 Postman 中测试我的 API,但在模拟 注销 时遇到问题。
如果我调用删除会话 cookie,
之后会话 cookie 仍然存在,我仍然能够访问需要身份验证的路由。
服务器上的路由处理程序是:
server.route({
method: 'DELETE',
path: '/sessions/_current',
handler: function(req, reply){
req.auth.session.clear();
reply({}).code(204);
}
});
这是 Node.js 与 Hapi 但应该无关紧要。
有没有办法删除 Postman 中的所有 cookie 或手动删除某些 cookie?
是否启用了 Postman 拦截器?切换它将通过 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/
你试过Clear Cache extension了吗?试试看。它清除应用程序缓存、下载、文件系统、表单数据、历史记录、本地存储、密码等等,在选项设置中可用。
更新:试试这个答案https://superuser.com/a/232794
我不确定在 Postman 中执行此操作的方法。我曾经关闭整个浏览器并重置服务器以再次进行身份验证。从未测试过注销,因为它是一项 API 服务。
在 chrome 浏览器中手动删除它会从 Postman 中删除 cookie。
在您的 chrome 浏览器中转到 chrome://settings/cookies
找到 cookie 并删除它
编辑:
根据下面的 Max890 评论(在我的 Google Chrome (ver 63) 版本中)现在是
chrome://settings/content/cookies
然后去"See all cookies and site data"
更新 Google Chrome 79.0.3945.88
chrome://settings/siteData?search=cookies
Postman 4.0.5 有一个名为 Manage Cookies 的功能,位于 Send 按钮下方,该按钮与 [=19= 分开管理 cookies ] 好像。
进入Chrome,右击->检查元素。转到选项卡主动跟踪资源,如果您还没有的话。现在左侧边栏向下直到您看到 "Cookies",单击您的域名下方并删除 cookie,只需右键单击它和 "Delete"
您可以使用 Postman interceptor.That 您可以通过 link:https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo
添加到 chrome 扩展
这有助于您通过 Postman 应用发送使用浏览器 cookie 的请求。
它还可以发送 headers,通常受 Chrome 限制,但对测试 API 至关重要。
正如@markus 所说,使用 "Cookie Manager" 并删除 cookie。
如果你想了解如何在 postman 中设置销毁 cookie,你应该检查 Postman Echo 服务 https://docs.postman-echo.com/
您将在此处找到有关如何设置、获取和删除这些 cookie 的完整说明。
检查:https://docs.postman-echo.com/#3de3b135-b3cc-3a68-ba27-b6d373e03c8c
试一试。
请注意,此答案仅适用于 独立 Postman UI 而不适用于 Chrome.[=10= 的 Postman app/add-on ]
如何清除Postman中的缓存(比如请求token时需要重新登录):
- 导航到视图:显示 DevTools
- 导航到“应用程序”选项卡,然后导航到左侧菜单中的“清除存储”视图
- 取消选择缓存存储以外的所有选项,然后点击“清除站点数据”
- 重启 Postman
- 您现在应该在请求新令牌时提示您重新登录
在 Native Postman 应用程序中有 "Cookie manager",所以这根本不是问题,
但是在 Chrome 的 Postman 扩展中没有
所以解决方法就是安装原生 Postman
我尝试清除 chrome cookie 以摆脱邮递员 cookie,作为此处给出的答案之一。但这对我不起作用。
我检查了我的邮递员版本,发现它是一个旧版本 5.5.4。
所以我刚刚尝试将 Postman 更新到最新版本 7.3.4。
太棒了,问题已解决!!
自 2019/08 年以来,新版本的 postman 应用程序能够在预请求或测试脚本中以编程方式执行此操作
在此处查看更多示例:Delete cookies programmatically · Issue #3312 · postmanlabs/postman-app-support
清除所有 cookies
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>
});
我认为可以针对包含变量的 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);
});
我正在 Postman 中测试我的 API,但在模拟 注销 时遇到问题。
如果我调用删除会话 cookie,
之后会话 cookie 仍然存在,我仍然能够访问需要身份验证的路由。
服务器上的路由处理程序是:
server.route({
method: 'DELETE',
path: '/sessions/_current',
handler: function(req, reply){
req.auth.session.clear();
reply({}).code(204);
}
});
这是 Node.js 与 Hapi 但应该无关紧要。
有没有办法删除 Postman 中的所有 cookie 或手动删除某些 cookie?
是否启用了 Postman 拦截器?切换它将通过 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/
你试过Clear Cache extension了吗?试试看。它清除应用程序缓存、下载、文件系统、表单数据、历史记录、本地存储、密码等等,在选项设置中可用。
更新:试试这个答案https://superuser.com/a/232794
我不确定在 Postman 中执行此操作的方法。我曾经关闭整个浏览器并重置服务器以再次进行身份验证。从未测试过注销,因为它是一项 API 服务。
在 chrome 浏览器中手动删除它会从 Postman 中删除 cookie。
在您的 chrome 浏览器中转到 chrome://settings/cookies
找到 cookie 并删除它
编辑:
根据下面的 Max890 评论(在我的 Google Chrome (ver 63) 版本中)现在是
chrome://settings/content/cookies
然后去"See all cookies and site data"
更新 Google Chrome 79.0.3945.88
chrome://settings/siteData?search=cookies
Postman 4.0.5 有一个名为 Manage Cookies 的功能,位于 Send 按钮下方,该按钮与 [=19= 分开管理 cookies ] 好像。
进入Chrome,右击->检查元素。转到选项卡主动跟踪资源,如果您还没有的话。现在左侧边栏向下直到您看到 "Cookies",单击您的域名下方并删除 cookie,只需右键单击它和 "Delete"
您可以使用 Postman interceptor.That 您可以通过 link:https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo
添加到 chrome 扩展这有助于您通过 Postman 应用发送使用浏览器 cookie 的请求。 它还可以发送 headers,通常受 Chrome 限制,但对测试 API 至关重要。
正如@markus 所说,使用 "Cookie Manager" 并删除 cookie。
如果你想了解如何在 postman 中设置销毁 cookie,你应该检查 Postman Echo 服务 https://docs.postman-echo.com/
您将在此处找到有关如何设置、获取和删除这些 cookie 的完整说明。
检查:https://docs.postman-echo.com/#3de3b135-b3cc-3a68-ba27-b6d373e03c8c
试一试。
请注意,此答案仅适用于 独立 Postman UI 而不适用于 Chrome.[=10= 的 Postman app/add-on ]
如何清除Postman中的缓存(比如请求token时需要重新登录):
- 导航到视图:显示 DevTools
- 导航到“应用程序”选项卡,然后导航到左侧菜单中的“清除存储”视图
- 取消选择缓存存储以外的所有选项,然后点击“清除站点数据”
- 重启 Postman
- 您现在应该在请求新令牌时提示您重新登录
在 Native Postman 应用程序中有 "Cookie manager",所以这根本不是问题,
但是在 Chrome 的 Postman 扩展中没有
所以解决方法就是安装原生 Postman
我尝试清除 chrome cookie 以摆脱邮递员 cookie,作为此处给出的答案之一。但这对我不起作用。 我检查了我的邮递员版本,发现它是一个旧版本 5.5.4。 所以我刚刚尝试将 Postman 更新到最新版本 7.3.4。 太棒了,问题已解决!!
自 2019/08 年以来,新版本的 postman 应用程序能够在预请求或测试脚本中以编程方式执行此操作
在此处查看更多示例:Delete cookies programmatically · Issue #3312 · postmanlabs/postman-app-support
清除所有 cookies
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>
});
我认为可以针对包含变量的 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);
});