我阅读了邮递员发送带 cookie 的请求手册:
由于打包的应用程序在与浏览器分开的沙箱中运行,因此无法访问浏览器中设置的 cookie。使用 Interceptor 扩展也可以克服此限制。邮递员通过拦截器路由所有请求,然后拦截器使用浏览器上下文发送请求。浏览器中设置的 Cookie 会自动附加到您的请求中。阅读 Interceptor 上的原始博客文章。
启用拦截器后,您还可以从 Postman 发送 cookie。只需设置“Cookie”标头,cookie 就会随请求一起发送。您还可以访问返回响应时可用的 cookie。查看博客文章了解更多信息
所以我下载了谷歌浏览器的拦截器,它启用了。
另外,我将以下内容添加到邮递员:Cookie JSESSIONID=daczcz36789
当我看到网络时,我注意到 Cookie 没有被发送。
我做错了什么?
8 回答
您可以在浏览器和 Postman 中单独启用 Interceptor。对于 send/recieve cookies,你应该在 Postman 中启用拦截器。因此,如果仅在浏览器中启用拦截器 - 它将无法工作。实际上你根本不需要在浏览器中启用 Interceptor - 如果你不想用不必要的请求充斥你的邮递员历史。
以这种方式启用 intercepter
基本上它是一个镀铬插件。安装扩展后,你还需要确保从 chrome 端启用扩展。
您应该手动启用拦截器扩展名,它位于邮递员窗口的 top-right 中。有几个按钮,找到拦截器按钮并启用它,然后您可以在请求标头中设置 Cookie 字段后发送 cookie。
基于@RBT 上面的答案,我尝试了 Postman 原生应用程序,并希望提供一些额外的细节。
在最新的邮递员桌面应用程序中,您可以在极右侧找到 cookie 选项:
您可以看到本地主机的 cookie(这些 cookie 与 Chrome 浏览器中的 cookie 链接,尽管应用程序本机运行)。您也可以为特定域设置 cookie。
我使用 postman chrome 扩展,直到它被弃用。 Chrome 扩展程序与本机邮递员应用程序相比,可用性和功能更少因此,使用 chrome 扩展变得不太方便。我找到了下一个方法:
将 chrome/any 其他浏览器中的任何请求复制为 CURL 请求(图像 1)
导入邮递员复制请求(图 2)
在邮递员列表中保存导入的请求
图片 1
图片 2
包括 Postman 在内的 Chrome 应用程序正在被弃用,如上所述这里。现在建议使用未与浏览器的沙盒环境分离的本机应用程序。
从功能页面引用:
COOKIES:原生应用程序可让您直接使用 Cookie。与 Chrome 应用不同,不需要单独的扩展程序(拦截器)。
BUILT-IN PROXY:本机应用程序带有 built-in 代理,可用于捕获网络流量。
受限制的标题:最新版本的原生应用程序允许您发送像 Origin 和 User-Agent 这样的标题。这些在 Chrome 应用中受到限制。不要跟着
REDIRECTS 选项:此选项存在于本机应用程序中,以防止返回 300-series 响应的请求被自动重定向。以前,用户需要使用 Interceptor 扩展程序在 Chrome 应用中执行此操作。
菜单栏:原生应用程序不受菜单栏 Chrome 标准的限制。
POSTMAN CONSOLE:最新版本的原生应用程序有一个 built-in 控制台,可让您查看 API 调用的网络请求详细信息。
因此,一旦您从这里安装本机邮递员应用程序,您就不必去寻找拦截器应用程序之类的其他先决条件来检查您的 cookie。安装本机邮递员应用程序后,我无需更改单个设置,所有 Cookie 都在
Cookies
标签中可见,如下所示:我遇到了这个问题(在 OSX 上)。我按照 Postman 提供的说明和这里的建议,还没有设置 cookie。
但是,上面的帖子说“所以,如果你只在浏览器中启用拦截器 - 它将无法正常工作”提醒我拦截器可以在浏览器中以及在 Postman 本身中启用。我以为我会尝试在浏览器中打开它,看看是否有帮助,而且确实如此。然后我在浏览器中将其关闭,它仍然有效。
因此,如果你在使用它时遇到问题,我建议至少尝试一次在浏览器中启用它,因为对我而言,这似乎会触发它。我想你仍然需要在 Postman 中打开它。
即使在切换后它也无法正常工作。我在添加 postman 插件后关闭并重新启动浏览器,登录到网站重新生成 cookie,然后它对我有效。