我一直在 Chrome 上使用 curl & Postman 将带有一个变量的 http POST 请求发送到我正在运行的简单 HTTP 服务器,我注意到它们构造请求的方式略有不同。如果我在构建问题时使用了任何不正确的术语,我深表歉意——我仍在学习这些东西。
使用 Postman,请求是通过放置一个“?”来构造的。在资源名称和变量之间。例如
http://192.168.0.2:9999/1/command?a=b
但是,以下 curl 命令:
curl -X POST http://192.168.0.2:9999/1/command --data a=b
不放'?' 在资源名称和变量之间。
结果是 HTTP 服务器以不同的方式解释请求。
在第一种情况下,请求的主体是空的,而在第二种情况下,主体包含 a=b。
哪个版本是正确的?