shell调用python接口,处理url参数中文乱码,各种折腾

jenkins中shell支持的非unicode,python只支持unicode

echo '手机' | tr -d '\n' | xxd -plain | sed 's/../%\1/g'    这样的话中文传参是不乱码了,但是带有_的报错了,例如:

CI_app.XXX.com.cn-5.1.0-450

最终解决方法是

BRANCH_NAME是带中文及_的参数

rt=$(curl -X GET -G --data-urlencode "branch_name=${BRANCH_NAME}" --data-urlencode "project_name=xxxapp" http://ip:port/get_info)

切记,BRANCH_NAME经过上面语句,已经是unicode编码,shell中打印或使用的时候,不能直接使用

同时python应处理收到的参数,否则字符串入库时将为乱码

branch_name1 = request.args.get('branch_name')
branch_name =urllib.parse.unquote(branch_name1)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值