linux curl请求时参数被截断

当我在curl一个url时,发如今后端PHP环境使用xdebug时,只能捕获第一个参数:php

curl test.baidu.com/oss/index.php?r=info/data/query&username=xxx&password=xxx
# 在后端url被截断,只能捕获到第一个参数
$_GET: array(1) r: "info/data/query"

这致使了个人认证失败,没法获取正确的数据。shell

其实这里的缘由是在shell 命令中&符号有特殊的含义,而并不仅是url参数的链接符。所以,咱们有两种解决方法:后端

# 方法一:转义,加上\符
curl test.baidu.com/oss/index.php?r=info/data/query\&username=xxx\&password=xxx
# 方法二:包装,在url外加上引号,用字符串处理
curl 'test.baidu.com/oss/index.php?r=info/data/query&username=xxx&password=xxx'

从新测试,解决问题。curl

参考资料

  1. Linux curl get请求参数多个参数被截断的解决方法:https://blog.csdn.net/top_cod...
相关文章
相关标签/搜索