繁体   English   中英

Windows 10 上的 curl 10:“标题中的字符无效”

[英]curl on Windows 10: “invalid character in header”

我正在尝试在REST ZDB9742387104CAEA23489CE3AA9B6406EBB28E0CDA430Z 10 上使用下面的 curl 示例。

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

我从https://curl.haxx.se/windows/下载了curl.exe

我认为您的 MIME 内容类型 header 与 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM