2013-08-27 10 views
301

साथ रीडायरेक्ट मैं जानता हूँ कि पालन करने के लिए है कि एक PHP स्क्रिप्ट में:वहाँ एक रास्ता कमांड लाइन cURL

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

रीडायरेक्ट का पालन करेंगे। क्या कमांड लाइन curl के साथ रीडायरेक्ट का पालन करने का कोई तरीका है?

+9

मैं PHP समाधान के लिए देख रहा था और यहां उतरना पड़ा। धन्यवाद। – dchayka

उत्तर

515

स्थान हैडर ध्वज का उपयोग करें:

curl -L <URL>

+1

यह स्प्रैडशीट तक पहुंचने के लिए Google के साथ प्रमाणीकरण के साथ काम नहीं करता है, या तो। :/ – fatuhoku

+7

'मैन कर्ल': "जब प्रमाणीकरण का उपयोग किया जाता है, तो कर्ल केवल प्रारंभिक होस्ट को अपने क्रेडेंशियल्स भेजता है। <...> यह भी देखें - स्थानांतरित करने के तरीके पर स्थान-भरोसेमंद।" – hudolejev

+11

@posit bit.ly उपयोगकर्ता एजेंट की जांच कर रहा है, लेकिन आप इसे '--user-agent' या' -A' ध्वज के साथ खराब कर सकते हैं –

18

मैं एक ऐसी ही समस्या थी। मैं यहां अपना समाधान पोस्ट कर रहा हूं क्योंकि मुझे विश्वास है कि यह टिप्पणीकारों में से एक की मदद कर सकता है।

मेरे लिए, बाधा यह थी कि पृष्ठ को लॉगिन की आवश्यकता थी और फिर मुझे जावास्क्रिप्ट के माध्यम से एक नया यूआरएल दिया। यहाँ मैं करना था क्या है:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <URL>

ध्यान दें कि j_username और j_password मेरी वेबसाइट का प्रवेश फार्म के लिए क्षेत्रों का नाम है। उपयोगकर्ता नाम फ़ील्ड का 'नाम' और पासवर्ड फ़ील्ड का 'नाम' आपके मामले में देखने के लिए आपको वेबपृष्ठ का स्रोत खोलना होगा। उसके बाद मैं जावा स्क्रिप्ट के साथ एक HTML फ़ाइल चलाता हूं जिसमें नया यूआरएल एम्बेड किया गया था। इस बाहर पार्स करने के बाद सिर्फ नए URL के साथ फिर से जमा:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <NEWURL>

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