哪些请求参数可用于判断请求是来自 Postman 还是来自 NodeJS 服务器?
Which request params can be used to tell if a request is coming from Postman vs NodeJS server?
我 运行 向第三方 API 发送了两个相同的 API 请求——一个在邮递员中,另一个在 NodeJS 中。 API 在 Postman 与 NodeJS 中以不同的 set-cookie
header 响应。
我试过:
- 正在将 Postman headers 选项卡中的 headers 复制到我的 nodejs 请求中 headers。
- 从 Postman 控制台复制 headers 到我的 nodejs 请求 headers。
- 正在复制 Postman 的 auto-generated
axios
代码。
node-fetch
而不是 axios
.
- 在 Postman 中进行各种设置 on/off。
每次,Postman 中的 API 请求都会响应与 NodeJS 不同的 set-cookie header。邮递员请求正在接收正确的 session 令牌,而 NodeJS 请求不是。
- API 服务器可以通过某种方式分辨出两种环境之间的区别,但是如何区分呢?
- postman 运行 是否在无头浏览器上,以便它可以“欺骗”服务器检查浏览器运行时?
- postman 是真正的“curl”而 nodejs 请求不是吗?
- 鉴于请求 headers 和 body 在两个请求中相同,哪些变量可用于区分邮递员请求和 nodejs 请求?
我会亲自为来这里寻找答案的任何人回答这个问题。显然,Postman 使用一些神奇的配置从浏览器发出请求,同时绕过 CORS 问题。
他们称之为“邮递员代理”。看起来它可能是关闭了 CORS 的无头浏览器前面的本地代理(或类似的东西)。
就我而言,问题不是由请求之间的差异引起的。这是由处理响应的方式引起的。 Postman 显示在初始 302 响应中收到的 cookie,然后跟随重定向。 NodeJS 请求遵循重定向但未在最终响应中显示初始 'set-cookie' header。一旦我在 nodejs 中设置 redirect: 'manual'
,我就可以从最初的 302 响应中看到正确的 header。
我 运行 向第三方 API 发送了两个相同的 API 请求——一个在邮递员中,另一个在 NodeJS 中。 API 在 Postman 与 NodeJS 中以不同的 set-cookie
header 响应。
我试过:
- 正在将 Postman headers 选项卡中的 headers 复制到我的 nodejs 请求中 headers。
- 从 Postman 控制台复制 headers 到我的 nodejs 请求 headers。
- 正在复制 Postman 的 auto-generated
axios
代码。 node-fetch
而不是axios
.- 在 Postman 中进行各种设置 on/off。
每次,Postman 中的 API 请求都会响应与 NodeJS 不同的 set-cookie header。邮递员请求正在接收正确的 session 令牌,而 NodeJS 请求不是。
- API 服务器可以通过某种方式分辨出两种环境之间的区别,但是如何区分呢?
- postman 运行 是否在无头浏览器上,以便它可以“欺骗”服务器检查浏览器运行时?
- postman 是真正的“curl”而 nodejs 请求不是吗?
- 鉴于请求 headers 和 body 在两个请求中相同,哪些变量可用于区分邮递员请求和 nodejs 请求?
我会亲自为来这里寻找答案的任何人回答这个问题。显然,Postman 使用一些神奇的配置从浏览器发出请求,同时绕过 CORS 问题。
他们称之为“邮递员代理”。看起来它可能是关闭了 CORS 的无头浏览器前面的本地代理(或类似的东西)。
就我而言,问题不是由请求之间的差异引起的。这是由处理响应的方式引起的。 Postman 显示在初始 302 响应中收到的 cookie,然后跟随重定向。 NodeJS 请求遵循重定向但未在最终响应中显示初始 'set-cookie' header。一旦我在 nodejs 中设置 redirect: 'manual'
,我就可以从最初的 302 响应中看到正确的 header。