【问题标题】:Sending cookies with postman使用邮递员发送 cookie
【发布时间】:2015-09-02 14:51:03
【问题描述】:

我用邮递员阅读了使用cookie发送请求的手册:

由于打包的应用程序在独立于浏览器的沙盒中运行,它 无法访问浏览器内设置的 cookie。这个限制可以 也可以使用拦截器扩展来克服。邮递员路由所有 通过拦截器请求,然后使用浏览器上下文 发送请求。浏览器内设置的 Cookie 是自动设置的 附加到您的请求。阅读 Interceptor 上的原始博客文章。

启用拦截器后,您还可以从 邮差。只需设置“Cookie”标头,就会发送 cookie 与请求。您还可以访问 返回响应时可用。查看博客文章 更多

所以我下载了谷歌浏览器的拦截器,它启用了。

另外,我将以下内容添加到邮递员:Cookie JSESSIONID=daczcz36789

当我查看网络时,我注意到没有发送 Cookie。

我做错了什么?

【问题讨论】:

  • 非常有用的相关帖子here
  • Postman Chrome 应用已被弃用,取而代之的是原生应用。因此,最好选择直接支持拦截 cookie 的原生应用程序(代替 Chrome 应用程序),如 my answer 中所述。当您使用本机应用程序时,您将不需要额外的插件(如拦截器)来检查 cookie。
  • 这能回答你的问题吗? How to store and reuse cookies in Postman?

标签: cookies postman


【解决方案1】:

您可以在浏览器和 Postman 中分别启用拦截器。对于发送/接收 cookie,您应该在 Postman 中启用拦截器。因此,如果您仅在浏览器中启用拦截器 - 它将不起作用。实际上,您根本不需要在浏览器中启用拦截器 - 如果您不想用不必要的请求淹没您的邮递员历史记录。

【讨论】:

  • 如何在我的代码中模仿这一点。我想发送和接收cookie。否则服务器不会对我进行身份验证。
  • 我遇到了同样的问题,将拦截器关闭然后重新打开对我没有帮助。邮递员的支持也无济于事。他们告诉我使用 Postman 的桌面版本,这给了我相同的响应。当我点击“Cookies”下时,我确实看到了我的网站发出的 cookie,但是如果我在 Fiddler 中检查我的 API 调用,我看不到我的网站发出的 cookie 正在发送。
  • @SagarNayak 你有没有在代码中找到这样做的方法?
  • @JayPatel 我找不到任何解决方案。我更改了该用例的流程并解决了它。
  • 好吧,我想我也需要做这样的事情!
【解决方案2】:

您应该手动启用拦截器扩展人,它位于邮递员窗口的右上角。有几个按钮,找到拦截器按钮并启用它,然后您可以在请求头中设置Cookie字段后发送cookie。

【讨论】:

    【解决方案3】:

    我无法正常工作(在 OSX 上)。我已按照 Postman 提供的说明以及此处的建议进行操作,但仍未设置 cookie。

    然而,上面的帖子说“所以如果你只在浏览器中启用拦截器 - 它不会起作用”提醒我拦截器可以在浏览器以及 Postman 本身中启用。我想我会尝试在浏览器中打开它,看看是否有帮助,它确实有效。然后我在浏览器中关闭它,它仍然有效。

    因此,如果您在使其正常工作时遇到问题,我建议您至少尝试在浏览器中将其打开一次,因为对我而言,这似乎会触发它。我想你仍然需要在 Postman 中打开它。

    【讨论】:

    • 在 OS X 10.11.6 上切换 Chrome 浏览器上的拦截器插件为我做到了。非常感谢!
    • 只是想确认在 Chrome 中打开拦截器插件,然后再关闭,在 OSX 10.11.6 上也对我有用。
    【解决方案4】:

    即使在切换后它也不起作用。添加邮递员插件后,我关闭并重新启动浏览器,登录网站重新生成cookie,然后它对我有用。

    【讨论】:

      【解决方案5】:

      以这种方式启用拦截器

      基本上是一个chrome插件。安装扩展后,还需要确保从chrome端启用扩展。

      【讨论】:

        【解决方案6】:

        here 所述,包括 Postman 在内的 Chrome 应用程序已被弃用。现在建议使用未脱离浏览器沙盒环境的原生应用。

        引自功能页面:

        原生应用程序独有的功能:

        COOKIES:本机应用程序可让您直接使用 cookie。不像 Chrome 应用程序,不需要单独的扩展程序(拦截器)。

        内置代理:本机应用带有内置代理,您可以 可以用来捕获网络流量。

        受限标题:最新 本机应用程序的版本允许您发送像 Origin 和 用户代理。这些在 Chrome 应用程序中受到限制。不要关注

        REDIRECTS OPTION:本机应用程序中存在此选项以防止 自动返回 300 系列响应的请求 重定向。以前,用户需要使用拦截器扩展 在 Chrome 应用程序中执行此操作。

        菜单栏:原生应用不支持 受菜单栏的 Chrome 标准限制。

        邮递员控制台: 本机应用程序的最新版本有一个内置控制台,它 允许您查看 API 调用的网络请求详细信息。

        因此,一旦您从 here 安装了本机 Postman 应用程序,您就不必去寻找额外的先决条件(如拦截器应用程序)来检查您的 cookie。安装本机邮递员应用程序后,我无需更改单个设置,我的所有 cookie 都在Cookies 选项卡中可见,如下所示:

        【讨论】:

        • 这节省了我的时间。
        【解决方案7】:

        根据上面@RBT 的回答,我尝试了 Postman 原生应用,并想提供一些额外的细节。

        在最新的 postman 桌面应用中,您可以在最右侧找到 cookie 选项:

        您可以看到本地主机的 cookie(这些 cookie 与您的 chrome 浏览器中的 cookie 相关联,尽管应用程序在本地运行)。您也可以为特定域设置 cookie。

        【讨论】:

          【解决方案8】:

          我使用 postman chrome 扩展程序,直到它被弃用。 Chrome 扩展也不如本地邮递员应用程序好用和强大。因此,使用 chrome 扩展变得非常不方便。

          我找到了另一种方法:

          1. 将 chrome/任何其他浏览器中的任何请求复制为 CURL 请求
          2. 导入到邮递员复制的请求
          3. 将导入的请求保存在邮递员列表中

          【讨论】:

          • 精彩的解释/图解答案
          • 这样就省去了使用拦截器的麻烦
          • 抱歉,为什么要在标题上设置 cookie?我在这里错过了什么吗?
          • @FrancoGil,这是通过 CURL 请求发送 cookie 的常用方法
          • 这会从复制的 curl 中自动在邮递员中创建标题信息。很好的答案!
          猜你喜欢
          • 2017-11-23
          • 1970-01-01
          • 2018-02-11
          • 2017-08-17
          • 2020-06-23
          • 2020-04-07
          • 1970-01-01
          • 2020-08-14
          • 2021-07-13
          相关资源
          最近更新 更多