Bash 带有承载令牌的cURL POST请求结果为;无法解析主机:POST";

Bash 带有承载令牌的cURL POST请求结果为;无法解析主机:POST";,bash,curl,zsh,Bash,Curl,Zsh,我在zsh中发出以下命令,用承载令牌发送POST请求 curl -o -X POST -H "Authorization: Bearer ${TOKEN}" http://localhost:8090/services/item/0 我得到的输出如下: % Total % Received % Xferd Average Speed Time Time Time Current Dload Up

我在
zsh
中发出以下命令,用承载令牌发送POST请求

curl -o -X POST -H "Authorization: Bearer ${TOKEN}" http://localhost:8090/services/item/0
我得到的输出如下:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: POST

更新1 我发布了一个错误的命令,现在我已经纠正了。这就是我要发布的内容:

curl -X POST -H "Authorization: Bearer ${TOKEN}" http://localhost:8090/services/item/0
我发现该行为可能与在ZSH中运行命令有关。使用Bash时,调用工作正常。

我检查必须工作:

curl -H "Authorization: Bearer ${TOKEN}" http://localhost:8090/services/item/0
或:

我必须工作:

curl -H "Authorization: Bearer ${TOKEN}" http://localhost:8090/services/item/0
或:


-o
后面的参数是文件名。您的命令行以以下内容开头:

curl -o -X POST
。。。这意味着它将把输出保存到名为
-X
的文件中。然后以下单词(
POST
)将被视为URL,因为它不是以破折号开头的

使用该URL(或主机名)会导致以下错误:

Could not resolve host: POST

。。。因为curl无法解析该主机名。您的网络中似乎没有具有该名称的主机

紧跟在
-o
之后的参数是文件名。您的命令行以以下内容开头:

curl -o -X POST
。。。这意味着它将把输出保存到名为
-X
的文件中。然后以下单词(
POST
)将被视为URL,因为它不是以破折号开头的

使用该URL(或主机名)会导致以下错误:

Could not resolve host: POST

。。。因为curl无法解析该主机名。您的网络中似乎没有具有该名称的主机

你能分享更多细节吗?在给定的调用中,您在哪里定义了请求类型?为什么使用
-o
而不指定输出文件?
curl
默认情况下发送
GET
请求;您需要使用
curl-X POST
发出
POST
请求。我不知道您发布的代码如何认为
POST
是要连接的主机。您可以分享更多详细信息吗?在给定的调用中,您在哪里定义了请求类型?为什么使用
-o
而不指定输出文件?
curl
默认情况下发送
GET
请求;您需要使用
curl-xpost
发出
POST
请求。我不知道您发布的代码如何认为
POST
是要连接的主机。