2009-10-01 33 views
6

पर पुन: प्रयास कर्ल मैं एक खोल स्क्रिप्ट इस तरह एक समारोह है कि लिखा है:टाइमआउट

function getpage { 
     echo $1 
     curl -O "http://www.example.com/$1" -b cookie.txt -s 
} 

समस्या वेबसाइट का समय समाप्त तो उस पेज को छोड़ दिया जाएगा, मैं इसे की जरूरत है फिर से प्रयास करना है अगर यह समय समाप्त हो जाता है (मैं भी 60 सेकंड टाइमआउट में डाल दूंगा)।

मैं यह कैसे कर सकता हूं?

उत्तर

8

आप मजबूर retries के लिए --retry <num> का उपयोग कर सकते हैं। रिटर्न कोड क्या है यह देखने के लिए -w http_code जोड़ने का एक वैकल्पिक तरीका है ... यदि यह 200 नहीं है तो फिर से प्रयास करें।

+0

अब मैं इसके बारे में क्यों सोचता हूं, 50 रीट्रीज़ के साथ 10 सेकंड का टाइमआउट मान (मुझे संदेह है कि इसे कभी भी 3 से अधिक की आवश्यकता होगी) – Hintswen

+3

त्रुटि होस्ट होस्ट करने योग्य या कनेक्शन से इनकार करने का कोई तरीका है? – jrwren

+0

आप इसका उपयोग कर सकते हैं: --writeout {http_code} और परिणाम का विश्लेषण करें। यदि कनेक्ट करने में असमर्थ है, तो स्टेटस कोड 0 कर्ल वापस आ जाएगा। –

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