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

问题描述 投票:0回答:2

我想区分我的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标头来操作。

有人有想法吗?

java rest postman
2个回答
0
投票

如果请求来自邮递员,则标头将像-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'

0
投票

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

1。使用User-Agents

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

使用POSTMAN时,请求具有

  1. 用户代理为PostmanRuntime/<version>
  2. 附加标头“邮递员令牌”为<version 4 UUID>Reference

2。使用请求参数

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

例如:client=webclient

3。使用请求正文

与先前相同,但在请求正文中>

注:

在所有方法中,所有标题/参数都可以修改。
© www.soinside.com 2019 - 2024. All rights reserved.