欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

postman jamf 接口 我自己亲自做的 chatgpt 有大用 有大大用 有大大大用 有大大大大用

curl -X POST -H "Authorization: Basic MTY3MDI3NzA6T44442hhcmyuiopoiuy=" -H "Content-Type: application/json" --insecure "https://aaaa.bbbb.com:443/uapi/auth/tokens" 在 shell 中 能正常执行 ,但是在 postman 中报错

image.png


我帮你分析了一下你截图里的请求和 curl 命令,关键问题是 Authorization 头不一致

在 shell 里你是用的:

   
-H "Authorization: Basic MTY3MDI3NzA6etrgfhjkcmVA23456ty="    



而在 Postman 里你用的是:

   
Authorization: Bearer MTY3MDI3NzA6etrgfhjkcmVA23456ty=    



区别:

  • curl 用的是 Basic AuthAuthorization: Basic ...

  • Postman 用的是 Bearer TokenAuthorization: Bearer ...

这就是为什么在 shell 能正常返回,而在 Postman 报 400 Bad Request 的原因。

✅ 解决办法:
在 Postman 里把 Header 改成和 curl 一样:

   
Authorization: Basic MTY3MDI3NzA6etrgfhjkcmVA23456ty=    



或者在 Postman 的 Authorization 标签页里选择:

  • Type = Basic Auth

  • Username / Password 填对应的账号和密码(Postman 会自动转成 Basic base64(user:pass))。

另外要注意:

  • 你已经在 curl 里加了 --insecure(跳过 SSL 验证),在 Postman 里需要在 Settings → SSL certificate verification 里关掉,或者在请求里点开小锁设置。



我把 Bear 换成了 Basic,,然后 还是报同样的错!


image.png


我看到你已经把 Authorization 改成了 Basic,但依然报 400 Bad Request
对比 curl 和 Postman 的差异,还可能有以下几个点:


1. Content-Type

在 curl 里你有明确加:

   
-H "Content-Type: application/json"    



但你在 Postman 截图里没有设置 Content-Type,系统自动算的 Content-Length: 0
👉 Postman 默认没有发送 Body,所以服务器认为请求格式不对。

解决:
在 Postman 的 Headers 加上:

   
Content-Type: application/json    



同时在 Body 里选 raw,然后内容留空 {}(因为有的接口即使不需要参数也要有一个空 JSON)。


2. SSL 校验

curl 里用了 --insecure(忽略 SSL 证书验证)。
Postman 默认是验证证书的。
👉 你需要在 Postman 设置里关掉:

  • 进入 File -> Settings -> General -> SSL certificate verification → 关闭

否则可能出现奇怪的 400/403。


3. 请求 Body

有些 JAMF API 的 /uapi/auth/tokens 即使是获取 token 也要求 body 是空 JSON {},而不是完全没 body。
curl 里虽然没写 body,但可能服务器默认接受;Postman 没 body 时有时会传 Content-Length: 0,这可能触发 400。

👉 建议在 Postman Body 里放:

   
{}    




✅ 正确的 Postman 设置应该是:

  • Method: POST

  • URL: https://aaaa.bbbb.com:443/uapi/auth/tokens

  • Headers:

    • Authorization: Basic MTY3MDI3NzA6etrgfhjkcmVA23456ty=

    • Content-Type: application/json

  • Body → raw → JSON → {}

  • Settings → 关闭 SSL certificate verification



帮我写一个 Postman 导入 JSON (Collection),你直接导进去就能一键测试

好的 👍 我帮你写一个 Postman Collection JSON,你直接导入 Postman 就可以用。


JamfAuth.postman_collection.json

   
{  "info": {    "name": "Jamf Auth API",    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"  },  "item": [    {      "name": "Get Auth Token",      "request": {        "method": "POST",        "header": [          {            "key": "Authorization",            "value": "Basic MTY3MDI3NzA6etrgfhjkcmVA23456ty=",            "type": "text"          },          {            "key": "Content-Type",            "value": "application/json",            "type": "text"          }        ],        "body": {          "mode": "raw",          "raw": "{}",          "options": {            "raw": {              "language": "json"            }          }        },        "url": {          "raw": "https://aaaa.bbbb.com:443/uapi/auth/tokens",          "protocol": "https",          "host": [            "aaaa",            "bbbb",            "com"          ],          "port": "443",          "path": [            "uapi",            "auth",            "tokens"          ]        }      },      "response": []    }  ] }    




使用方法:

  1. 打开 Postman

  2. 左上角 Import → 选择 Raw text

  3. 把上面 JSON 粘贴进去 → 点击 ContinueImport

  4. Collection 会出现在左边,点击请求 → 直接 Send

  5. 确认在 Settings → General 里关掉 SSL certificate verification(因为 curl 用了 --insecure



最后正确使用 Postman 后是下面的这样子的几张图 

1)

image.png

2)最重要的图

事实上 

image.png

3)

image.png

4)

image.png


普通分类: