curl 命令请求REST地址,报编码错误解决思路

  1. 实际需求
    调用微服务的Rest地址进行POST请求,可能想到的是用idea自带的测试工具“Test RESTful Web Service”,或者是专业的postman,以及其它的优秀工具。可是我遇到的确只有一个Linux操作后台的命令。没办法只能用curl命令了,梳理下curl调用post的基本命令curl -X POST -H 'Content-Type: application/json' -H 'Data_Type: msg' -i 10.1.1.1/xx/xx/xx' --data '{导入的数据对象}'
  2. 报错信息
    小心意义在编译软件中整理好Json数据及curl地址,满怀激动的小手点击Enter发送请求。谁知满屏的报错信息,一下傻眼了
    在这里插入图片描述
  3. 问题解决思路
    看着报错的信息,初步判定是字符编码的问题(毕竟满屏的报错信息咱也就能看到个UTF-8)
    在线找解决办法,看到最多的是说地址请求头的时候加编码格式“charset=UTF-8”,那就加进去试下呗。
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Data_Type: msg' -i 10.1.1.1/xx/xx/xx' --data '{导入的数据对象}'

可是问题并没有解决。在想是不连接shell工具的编码导致的呢,说到就去试。我用的是XShell工具。在“文件“–》“属性”–》”终端“—》”编码“中选择UTF-8编码格式。在这里插入图片描述
设置编码格式后重新打开一个窗口在调用。返回了想要的结果。编码问题顺利解决
延伸:curl命令加编码格式只是指定返回方按照对应的编码,而连接后台的工具在发送请求的时候是按照选定的编码格式进行转换的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值