2016-11-19 111 views
3

根據this答案我可以使用Range頭只下載一個html頁面的一部分,但與此代碼:Python的 - HTTP請求範圍不工作

import requests 

url = "http://stackoverflow.com" 
headers = {"Range": "bytes=0-100"} # first 100 bytes 

r = requests.get(url, headers=headers) 

print r.text 

我得到整個HTML頁面。爲什麼它不工作?

+2

'如果字節範圍不被服務器支持什麼?這將獲取整個內容 - 根據您鏈接到 –

+0

的頁面中的評論你解決了嗎? –

回答

1

如果網絡服務器不支持Range標題,它將被忽略。

嘗試與支持頭其他服務器,例如tools.ietf.org

import requests 

url = "http://tools.ietf.org/rfc/rfc2822.txt" 
headers = {"Range": "bytes=0-100"} 
r = requests.get(url, headers=headers) 
assert len(r.text) <= 101 # not exactly 101, because r.text does not include header 
+0

請求包很好,這裏工作也很好https://stackoverflow.com/questions/23602412/only-download-a-part-of-the-document-using-python-requests?answertab=oldest#tab-top –