我正在使用包urllib
和urllib.request
的簡單代碼是downloading a file over HTTP
。除了我希望能夠處理可能發生的網絡問題之外,一切工作都很好。Python和Urllib。如何處理網絡異常?
檢查計算機是否在線(連接到Internet)。只有在正確的情況下才能繼續。
重新啓動文件的下載,如果在此期間,連接丟失或太糟糕。
我想,如果可能的話,使用盡可能少的軟件包。 這裏是我的實際代碼:
import urllib
import urllib.request
url = "http://my.site.com/myFile"
urlSplited = url.split('/')[-1];
print ("Downloading : "+urlSplited)
urllib.request.urlretrieve(url, urlSplited)
要檢查連接etablished,我相信我能做到像
while connection() is true:
Download()
但是會做下載很多次..
我正在研究Linux。
謝謝你的回答。在'urlopen'函數工作的時候,'try'也可以工作嗎?我的意思是,如果在下載期間連接丟失了? – Ezhno
您指定連接()應檢查連接是否已建立,因此此函數在開始時僅運行一次,返回一個值並停止。如果你擔心文件正確下載,你應該檢查[這個答案](https://stackoverflow.com/questions/987876/how-to-know-if-urllib-urlretrieve-succeeds)(並可能使用的urllib2) – Roxerg