Ответ 1
В моем случае размещение пробела после двоеточия было неправильным.
# Not work
curl -H Content-Type: application/json ~
# OK
curl -H Content-Type:application/json ~
Получение url: (6) Не удалось разрешить ошибку host: application после этой команды:
curl -i -H 'Content-Type: application/json' -d '{"Code":"FR","Name":"France"}' http://127.0.0.1:8080/countries
Полный журнал ошибок:
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'"
}
Что случилось с этой командой?
Edit:
Я решил решить эту проблему в Windows: "{/"Code/":/"FR/"}"
В моем случае размещение пробела после двоеточия было неправильным.
# Not work
curl -H Content-Type: application/json ~
# OK
curl -H Content-Type:application/json ~
Он обрабатывает строку application
как ваш URL.
Это означает, что ваша оболочка не выполняет синтаксический разбор команды.
Я предполагаю, что вы скопировали строку откуда-то, и когда вы вставили ее, вы получили несколько символов, которые выглядели как обычные кавычки, но не были.
Попробуйте переименовать команду; вы получите только действительные символы с клавиатуры. Бьюсь об заклад, вы получите совсем другой результат от того, что похоже на тот же запрос.
Поскольку это, вероятно, проблема с оболочкой, а не проблема "завитка" (вы не создали cURL самостоятельно из источника, не так ли?), Неплохо бы упомянуть, находитесь ли вы в Linux/Windows/etc.
Пример для 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
Я тоже получал эту ошибку. Я решил это, установив: https://git-scm.com/
и запустить команду из окна Git Bash.
У меня была та же проблема при вызове URL веб-сервисов с помощью команды curl, но я нашел причину проблемы.
Решение: добавлен дубликат http: как часть URL, пожалуйста, напечатайте его перед публикацией URL.
Я заменил все одинарные кавычки ['] на двойные кавычки ["], и тогда все заработало отлично. Спасибо за ввод @LogicalKip.