3
我在python中使用機械化庫從服務器下載一些大文件。我需要實現部分文件下載,以便我可以並行化文件的下載。爲此,我在我的請求中添加了「範圍:字節= 0-499」的標題。但服務器從第499個字節開始返回文件。使用python下載文件
服務器使用HTTP 1.0。有沒有辦法使用python部分下載文件文件?
我在python中使用機械化庫從服務器下載一些大文件。我需要實現部分文件下載,以便我可以並行化文件的下載。爲此,我在我的請求中添加了「範圍:字節= 0-499」的標題。但服務器從第499個字節開始返回文件。使用python下載文件
服務器使用HTTP 1.0。有沒有辦法使用python部分下載文件文件?
恐怕我還沒有足夠的聲望評論這麼寬恕的答案,但我相信你在這裏尋找什麼;
The Key Differences between HTTP/1.0 and HTTP/1.1
下看「帶寬優化」和「範圍請求」的方式在頁面中向下約25%。
在HTTP/1.0中沒有辦法請求部分對象。
雖然有些HTTP/1.0服務器已經添加了一些HTTP/1.1功能,但恐怕在您的服務器上似乎不是這種情況。
你就可以告訴大家,它接受的範圍太多,如果服務器響應的東西,如下列:
Accept-Ranges: bytes
指這一點。 http://stackoverflow.com/questions/1798879/download-file-using-partial-download-http – Chathuranga 2013-04-26 08:18:29
你也可以使用'gevent'在一個單獨的greenlet中下載文件,看似同時。我相信你甚至可以修補@Chathuranga的建議與它合作。 [檢查此問題](http://stackoverflow.com/questions/6905800/multiprocessing-useless-with-urllib2)。 – msvalkon 2013-04-26 08:21:32
我試着將範圍標題添加到GET請求中,但服務器卻假定我需要文件的其餘部分而不是部分內容。 我的問題是:是因爲服務器使用HTTP/1.0而不是HTTP/1.1? – UnadulteratedImagination 2013-04-26 09:32:02