如何仅通过ssh连接手动发布JSON数据不使用cURL或其他实用程序

问题描述

我想仅使用键盘和ssh连接(即不使用cURL)手动发布JSON数据。我尝试复制的cURL功能效果很好,相当于:

curl -s -w '\n' -X POST -D - \
  -H "Content-type: application/json" \
  -d '{"param1":"value1","param2":"value2"}' \
  https:///myserver.com/mypath

但是,当我手动连接时:

openssl s_client -connect myserver.com:443 -quiet

然后输入

POST /mypath HTTP/1.1
Host: myserver.com
Content-type: application/json
Accept: application/json
{
  "param1": "value1","param2": "value2"
}

我收到消息“ Json内容错误HV000116:要验证的对象不能为空。”我已经尝试过使用空格和编码可以想到的所有变体,但是仍然出现错误。我知道我缺少一些简单的东西,但这是什么?

解决方法

Do!只需添加Content-length标头即可,一切正常