确定 api 请求是来自 CURL 还是 POSTMAN?



我想区分我的 API 端点通过浏览器或邮递员命中的错误响应。

我已经搜索了解决方案,一个网站提供了检查HTTP请求标头的建议,如果它来自浏览器,那么它有USER-AGENT

例如USER-AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

这仍然可以通过邮递员进行操作,方法是将USER-AGENT设置为具有该值的HTTP标头。

有人有想法吗?

数据以 3 种方式发送到服务器。

1.使用User-Agents

使用 CURL 时,请求具有用户代理作为curl/<version>

使用邮递员时,请求具有

  1. 用户代理作为PostmanRuntime/<version>
  2. 附加标头"邮递员令牌"作为<version 4 UUID>(参考(

阿拉伯数字。使用请求参数

在从 Web 客户端发出请求时发送令牌。

例如:client=webclient

3. 使用请求正文

与上一个相同,但在请求正文中

注意:在所有方法中,所有标头/参数都可以修改。

如果请求来自邮递员,那么将在您的 curl 请求中附加一个标头,例如 -H '邮递员令牌:15f84a34-a7ad-a21a-bb6a-6eb1f304a043'

这是邮递员的样本请求

curl -X GET 
'https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true' 
-H 'cache-control: no-cache' 
-H 'postman-token: 15f84a34-a7ad-a21a-bb6a-6eb1f304a043'

最新更新