curl на Windows 10: «недопустимый символ в заголовке» - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь использовать приведенный ниже пример скручивания на Windows 10 из Документы REST API Home Assistant для разработчиков .

curl -X POST -H "Authorization: Bearer ABCDEFGH" \
       -H "Content-Type: application/json" \
       -d '{"entity_id": "switch.christmas_lights"}' \
       http://localhost:8123/api/services/switch/turn_on

Ниже приведена моя фактическая командная строка (экранирование двойные кавычки для Windows):

curl -X POST -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI5OTc5ZDUwZjA2MDk0YmQ1YTBkYjkyYmQ5MjEyYWZkNyIsImlhdCI6MTU4Nzc5MzI4NywiZXhwIjoxOTAzMTUzMjg3fQ.8sjGRXL1spXguuRnp795049zdCFcOtraCiDjC61UkWQ" -H "{\"Content-Type: application/json\"}" -d "{\"entity_id\": \"light.media_room_light\"}" http://homeassistant.local:8123/api/services/switch/turn_on

Он отвечает приведенным ниже сообщением об ошибке. Я использую curl.exe, который я скачал с

invalid character in header

Я скачал curl.exe с: https://curl.haxx.se/windows/

1 Ответ

1 голос
/ 25 апреля 2020

Я думаю, вы перепутали заголовок MIME Content-Type с полем данных в кодировке json.

Вместо этого:

-H "{\"Content-Type: application/json\"}"

Это:

-H "Content-Type: application/json"

сведены в одну строку:

curl -X POST -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI5OTc5ZDUwZjA2MDk0YmQ1YTBkYjkyYmQ5MjEyYWZkNyIsImlhdCI6MTU4Nzc5MzI4NywiZXhwIjoxOTAzMTUzMjg3fQ.8sjGRXL1spXguuRnp795049zdCFcOtraCiDjC61UkWQ" -H "Content-Type: application/json" -d "{\"entity_id\": \"light.media_room_light\"}" http://homeassistant.local:8123/api/services/switch/turn_on
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...