【问题标题】:How to set a session id in Postman如何在 Postman 中设置会话 ID
【发布时间】:2016-12-11 13:04:37
【问题描述】:

我需要向 API 服务发送一个发布请求,该服务需要会话 ID 以及其发布请求字段中的其他参数,以便获取所需的信息。

我正在使用 Postman 来测试这个 API。

我想知道在使用 Postman 时如何在发布请求中发送“会话 ID”?

我知道 Postman 中的 pre-request 脚本,但我不知道如何在 post request 中使用该变量。

【问题讨论】:

    标签: session post postman


    【解决方案1】:

    在您的浏览器上:

    • 打开开发人员工具(右键单击并检查)。
    • 转到应用程序选项卡 > 存储 > Cookie。
    • 打开您的网站 Cookie 并复制名称和值。

    在 Postman 8+ 中:

    • 在“请求”选项卡中,转到“标题”。
    • 单击眼睛图标可查看隐藏的标题。
    • 点击右上角的“Cookie”链接。
    • 在“管理 Cookie”弹出窗口中,选择您的域,单击“+添加”按钮,或编辑现有的 cookie。
    • 粘贴从浏览器复制的值。完整值将类似于 PHPSESSID=f20nbdor26v9r1k5hdfj6tji0p; Path=/;
    • 点击“保存”,然后关闭弹出窗口。

    【讨论】:

      【解决方案2】:

      选择请求 URL 下方的测试部分

      if(postman.getResponseHeader("authorization")!==null)
      {
          postman.setGlobalVariable("token","Bearer " + postman.getResponseHeader("authorization") );
      }
      

      这里你可以使用 SessionId 从 Header 中获取 SessionId 并放入全局变量中。

      【讨论】:

        【解决方案3】:

        登录后在您正在工作的网站上点击检查

        1. 在您的 Chrome/浏览器上,转到应用程序 - cookie。
        2. 复制您的 PHPSESSID。
        3. 关于邮递员标题键:Cookie
        4. 值:PHPSESSID=dsdjshvbjvsdh(您的密钥)

        【讨论】:

          【解决方案4】:

          对于独立的 Postman 应用

          您可以在邮递员中使用全局变量。首先在第一个请求的 Tests 选项卡中将会话设置为全局变量:

          var a = pm.cookies.get('session');
          pm.globals.set("session", a);
          

          它也可能是“session_id”(检查您的第一个请求的标头)而不是会话。要检查是否设置了此变量,请在执行第一个请求后,转到齿轮图标并单击 globals。 然后转到您的第二个请求 -> 标头并为键添加“Cookie”,而为值添加“会话 ={{会话}}”

          旁注:注意不要保存框架使用的密钥,否则它们可能由于某种原因被删除。

          【讨论】:

            【解决方案5】:

            在 Postman 原生应用中:

            • 打开拦截器。
            • 转到标题
            • 密钥:Cookie
            • 值:sessionid=omuxrmt33mnetsfirxi2sdsfh4j1c2kv

            【讨论】:

            • 有没有办法不用拦截器?
            【解决方案6】:

            这篇文章有点老了,但我还是想回答一下,以防其他人正在寻找答案。

            首先,您需要查看工具栏中是否启用了拦截器,它距离登录只有一步之遥

            如果单击它时未启用,则可以安装扩展程序。我认为 Chrome 有一个。继续添加扩展。

            之后你可以回到 Postman 并启用拦截器

            您将能够在 postman 中看到 cookie,此时您可以添加 _session_id

            我希望这会有所帮助。

            谢谢,

            【讨论】:

            • 这对 Chrome 应用程序有效(已弃用)。知道如何在本机应用程序中(以安全的方式)完成此操作吗?
            • 在 Postman 原生应用程序中: - 打开拦截器。 - 转到标题 - 键:Cookie - 值:sessionid=omuxrmt33mnetsfirxi2sdsfh4j1c2kv
            猜你喜欢
            • 2021-12-04
            • 2013-12-02
            • 2015-04-03
            • 2011-05-05
            • 2013-06-27
            • 1970-01-01
            • 2011-10-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多