Curl和wget:为什么不使用GET参数?

时间:2011-01-17 13:26:19

标签: shell curl wget

我正在尝试使用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?

4 个答案:

答案 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中的保留字。就像\&

一样逃避它