【问题标题】:How to delete session cookie in Postman?如何在 Postman 中删除会话 cookie?
【发布时间】: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

【问题讨论】:

    标签: postman


    【解决方案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 服务。

                  【讨论】:

                    猜你喜欢
                    • 2010-11-08
                    • 2022-01-03
                    • 2012-09-01
                    • 2013-09-12
                    • 2014-04-16
                    • 1970-01-01
                    • 2012-08-12
                    • 2016-06-17
                    • 1970-01-01
                    相关资源
                    最近更新 更多