curl:(6)无法解析主机:应用程序

Yea*_*508 43 curl

获取url:(6)此命令后无法解析host:application错误:

curl -i -H 'Content-Type: application/json' -d '{"Code":"FR","Name":"France"}' http://127.0.0.1:8080/countries
Run Code Online (Sandbox Code Playgroud)

完整错误日志:

curl: (6) Could not resolve host: application
HTTP/1.1 415 Unsupported Media Type
Content-Type: application/json; charset=utf-8
X-Powered-By: go-json-rest
Date: Sat, 02 Apr 2016 05:31:20 GMT
Content-Length: 73

{
"Error": "Bad Content-Type or charset, expected 'application/json'"
}
Run Code Online (Sandbox Code Playgroud)

这个命令出了什么问题?

编辑:

我在windows中解决了我的问题编辑问题: "{/"Code/":/"FR/"}"

kuj*_*jiy 104

在我的情况下,冒号后放空间是错误的.

# Not work
curl -H Content-Type: application/json ~
# OK
curl -H Content-Type:application/json ~
Run Code Online (Sandbox Code Playgroud)

  • 在 Windows 上,我还可以通过使用 `"` 而不是 `'` 来修复它。不起作用:`curl -H 'Accept: application/json'`。工作:`curl -H "Accept: application/json"` 。 (3认同)

hey*_*ame 9

我也收到这个错误。我通过安装解决了它:https : //git-scm.com/

并从 Git Bash 窗口运行命令。


小智 9

我将所有单引号 ['] 替换为双引号 ["] 然后它完美地工作。感谢@LogicalKip 的输入。


Cyp*_*ire 8

Slack 示例....(使用您在那里生成的自己的网址)...

curl -X POST -H "Content-type:application/json" --data "{\"text\":\"A New Program Has Just Been Posted!!!\"}" https://hooks.slack.com/services/T7M0PFD42/BAA6NK48Y/123123123123123


Lin*_*ple 7

它将字符串application视为您的URL.
这意味着您的shell未正确解析命令.
我的猜测是你从某个地方复制了字符串,当你粘贴它时,你会得到一些看似普通引号的字符,但不是.
尝试重新输入命令; 你只能从键盘上获得有效的字符.我敢打赌,你会从看起来像同一个查询的结果得到一个非常不同的结果.因为这可能是一个shell问题而不是'curl'问题(你没有自己从源代码构建cURL,不是吗?),你可能会提到你是否在Linux/Windows /等等.

  • 我有一个类似的问题。我的命令没有双引号,参数是单引号之间。我用双引号替换了它们,它起作用了。在Windows上也是如此。 (2认同)

DIR*_*AVE 6

对于我在已设置环境变量的 Windows 10 上使用curl 的问题,

curl -X POST -H "Content-Type:application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_blockNumber\",\"params\":[],\"id\":83}" https://some-node-url.com
Run Code Online (Sandbox Code Playgroud)

我需要'用双引号替换所有单引号"

尽管我试图将区块链的示例转为单引号。

并且\在参数括号内的所有双引号前面添加{}