curl -v 'something.com:12684/CAB/keyfile?r=ORE_0&t=VOD&p=1'
返回200,但使用
curl -v something.com:12684/CAB/keyfile?r=ORE_0&t=VOD&p=1
返回400.为什么报价很重要?
答案 0 :(得分:3)
您的网址包含您认为特殊的字符。最有可能是&
,它是UNIX-ish shell的信号,用于将命令放在后台。所以你有效地执行了三个命令:
curl -v something.com:12684/CAB/keyfile=?r=ORE_0
t=VOD
p=1
您没有看到任何shell错误输出,因为最后两个是有效的shell构造。
总是引用你的论点。如果在PHP中,请使用escapeshellarg
。更好的是,使用curl
内置版或第三方库,例如Guzzle。