2011-01-17 13 views
15

मैं PHP में wget और curl का उपयोग कर this पृष्ठ से डेटा लाने का प्रयास कर रहा हूं। जैसा कि आप अपने ब्राउज़र का उपयोग करके देख सकते हैं, डिफ़ॉल्ट परिणाम 20 आइटम है लेकिन जीईटी पैरामीटर आईआईपी को नंबर x पर सेट करके, मैं एक्स आइटम ला सकता हूं, यानी http: // www.example.com/ foo? A = 26033 & b = 100कर्ल और wget: GET पैरामीटर का उपयोग क्यों नहीं किया जाता है?

समस्या यह है कि आईआईपी पैरामीटर केवल ब्राउज़र में काम करता है। अगर मैं wget या curl का उपयोग कर अंतिम लिंक लाने का प्रयास करता हूं, तो केवल 20 आइटम लौटाए जाते हैं। क्यूं कर? कमांड लाइन पर इस प्रयास करें:

curl -O http://www.example.com/foo?a=26033&iip=b 
wget http://www.example.com/foo?a=26033&iip=b 

मैं पैरामीटर आईआईपी का उपयोग क्यों नहीं कर सकते हैं?

उत्तर

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

आप में या तो "या 'अपने यूआरएल को संलग्न करने के बाद से & shellscript में एक विशेष अर्थ नहीं है होगा ... यही कारण है कि आप दे देंगे:

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

& खोल में एक आरक्षित शब्द है बस इसे \&

संबंधित मुद्दे