栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

shell命令,curl调用接口中文乱码问题解决

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell命令,curl调用接口中文乱码问题解决

使用curl发送一个带中文参数的请求,接口收到后得到的数据乱码,如下:

请求命令脚本:

#!/bin/sh
MSG="中文字符"
# 调用massage校验接口
RESULT=`curl -H "Content-Type:application/x-www-form-urlencoded" -s -X POST -d "msg=$MSG" "http://localhost:8080/tt/test"`	   
echo $RESULT;

收到后中文乱码:

 解决方案

发送请求之前先对字符进行urlEncode编码

MSG="中文字符"
# 进行urlencode编码
urlEncodeMsg=`echo -n "$MSG" | xxd -ps | tr -d 'n' | sed -r 's/(..)/%1/g'`;

最终脚本如下:

#!/bin/sh
MSG="中文字符"
# 进行urlencode编码,然后传输,否则接口收到的中文是乱码
urlEncodeMsg=`echo -n "$MSG" | xxd -ps | tr -d 'n' | sed -r 's/(..)/%1/g'`;
# 调用massage校验接口
RESULT=`curl -H "Content-Type:application/x-www-form-urlencoded" -s -X POST -d "msg=$urlEncodeMsg" "http://localhost:8080/tt/test"`	   
echo $RESULT;

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675824.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号