我正在尝试使用PHP中的wget和curl从this页面获取数据。正如您可以通过浏览器看到的那样,默认结果是20项,但是通过将GET参数iip设置为数字x,我可以获取x项,即http:// www.example.com/ foo?a = 26033& b = 100
问题是iip参数仅适用于浏览器。如果我尝试使用wget或curl获取最后一个链接,则只返回20个项目。为什么?请在命令行中尝试:
curl -O http://www.example.com/foo?a=26033&iip=b
wget http://www.example.com/foo?a=26033&iip=b
为什么我不能使用GET参数iip?
答案 0 :(得分:34)
尝试添加引号:
curl -O 'http://www.objektvision.se/annonsorer?ai=26033&iip=100'
wget 'http://www.objektvision.se/annonsorer?ai=26033&iip=100'
&
在命令行上具有特殊功能,可能会导致问题。
答案 1 :(得分:3)
尝试引用参数。至少在cmd
中,&
用于分隔两个单独运行的命令。
答案 2 :(得分:3)
你必须将你的网址封装在“或”中,因为&在shellscript中有特殊含义......那会给你:
curl -O "http://www.objektvision.se/annonsorer?ai=26033&iip=100"
wget "http://www.objektvision.se/annonsorer?ai=26033&iip=100"
答案 3 :(得分:3)
&
是shell中的保留字。就像\&