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
是要连接的主机。