2011-01-17 27 views
15

PHPでwgetとcurlを使用してthisページからデータを取得しようとしています。あなたのブラウザを使って見ることができるように、デフォルトの結果は20項目ですが、GETパラメータのiipをxに設定すると、http:// www.example.com/foo?a = 26033 & b = 100Curlとwget:なぜGETパラメータが使用されていないのですか?

問題は、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を使用できないのはなぜですか?引用符を追加

答えて

33

試してみてください。

curl -O 'http://www.objektvision.se/annonsorer?ai=26033&iip=100' 
wget 'http://www.objektvision.se/annonsorer?ai=26033&iip=100' 

&がありそうな問題を引き起こしている、コマンドライン上の特殊な機能を持っています。

+0

本当にありがとう、それはシェルから動作します!私は実際にPHPからこれを使用しているので、私は引用符でカールの呼び出しを囲む必要があると思いますか? – caxpeyr

3

引数を引用してみてください。少なくともcmdでは、&を使用して、個別に実行される2つのコマンドを区切ります。

2

あなたはそれはあなたを与えるだろう... &はシェルスクリプトで特別な意味を持っているため、「のいずれかで」またはあなたのURLを同封する必要があります:

curl -O "http://www.objektvision.se/annonsorer?ai=26033&iip=100" 
wget "http://www.objektvision.se/annonsorer?ai=26033&iip=100" 
3

&は、シェルの予約語でありますこのようにちょうどそれをエスケープする\&

関連する問題