curl运行json串,代理转发格式

时间:2023-03-09 06:24:20
curl运行json串,代理转发格式

curl -b 'uin=o0450654733; skey=@tq9xjRvYy' -H "Content-Type: application/json" -X POST -d 'param={"key0":{"method":"add_money_for_qq_login","module":"pgg_bank_mt_svr","param":{"billno":"fdagdg1f2d5gd4","money":1,"remark":"","custom":"act_id%3D143838","sig":{"biz_key":"ams","h":"2939aadefcbaba0956f8b860abdaa558d1bacacf","ts":1479097419}}}}' http://10.50.124.37:80/cgi-bin/pgg_comm_async_fcgi

-b  传消息头中cookie数据,jaon参数中如有传=、&等特殊字符时可能访问失败,需注意

curl -x10.6.223.94:80 -v "http://qt.qq.com/php_cgi/cf_news/php/competitions/pc_user_score.php?uin=450654733&time=1471349014&token=1dd892d0fb2999f9b09b7c18899ffb01"

-x后紧接中转ip及端口

iyouxi.vip.qq.com项目实际开发过程中记录使用curl时踩过的坑,以免以后再犯:

出现场景:需求是iyouxi需接入一个现网接口,根据主播id批量查询企鹅电竞主播详细信息的http接口。手Q的iyouxi.vip.qq.com项目开发机器访问http接口是通过curl实现的,开发环境先默认开启curl代理转发功能,而现网机器没没有开启代理请求功能。

这个查询主播信息的cgi请求参数是json串:'param={"key0":{"method":"add_money_for_qq_login","module": "pgg_bank_mt_svr","param":{"billno":"fdagdg1f2d5gd4","money":1,"remark":"","custom":"act_id%3D143838","sig":{"biz_key":"ams","h":"2939aadefcbaba0956f8b860abdaa558d1bacacf","ts":1479097419}}}}'。在开放环境测试没问题,接口发布现网出现告警,最终定位到是json串中"module": "pgg_bank_mt_svr"冒号后面多一个空格,curl开启转发请求时会兼容参数中这种空格,不开启转发则会出现错误参数,访问失败。