2009-10-01 16 views
6

üzerine yeniden kıvrılması:Böyle bir işlevi vardır bir shell script yazdım zaman aşımı

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

web sitesi zaman aşımına o sayfa atlanır, ben yeniden denemek için gerekirse sorundur eğer zaman aşımına uğrarsa (60 saniyelik zaman aşımına da gireceğim).

Bunu nasıl yaparım?

cevap

8

Zorunlu denemeler için --retry <num> kullanabilirsiniz. Alternatif bir yol, dönüş kodunun ne olduğunu görmek için -w http_code'u eklemektir. Eğer 200 değilse, tekrar deneyin.

+0

şimdi neden dint, 50 tekrar deneme ile 10 saniyelik zaman aşımı değeri (3'ten fazla olmasına kesinlikle şüphe duyarım) – Hintswen

+3

Hata erişilemiyor veya bağlantı reddedildiğinde ana bilgisayar yeniden denenmenin bir yolu var mı? – jrwren

+0

kullanabilirsiniz: --writeout {http_code} Ve sonucu ayrıştırın. Curl, bağlanamıyorsa 0, durum kodu döner. –

İlgili konular