当我在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