2014-07-16 112 views
2

我正在查看並將「連接超時」列爲功能。但是,當我進一步閱讀時,它表示Python請求模塊連接超時

超時不是整個響應下載的時間限制;相反,如果服務器沒有發出超時秒數的響應(更準確地說,如果在超時秒內沒有在底層套接字上接收到字節),則會引發異常。

這聽起來不像連接超時的描述。我所看到的是連接成功,它會上傳一個大文件,然後等待響應。但是,響應需要一段時間,然後超時。

如何設置連接超時,但一旦連接成功後仍然等待響應緩慢?非常感謝。

+0

相關:[?Python的請求,如何限制接收大小,傳輸速率,和/或總時間] (http://stackoverflow.com/q/22346158),[超時爲python requests.get整個響應](https://stackoverflow.com/q/21965484) –

回答

3

該超時時間用於套接字連接階段和響應讀取階段。唯一的例外是流式請求;如果您設置了stream=True,則超時不能應用於讀取部分。超時確實用於只是等待套接字連接或數據接收。

如果你需要一個整體超時,然後用另一種方法,如使用中斷或eventlets:Timeout for python requests.get entire response

+0

哦超,這是很快。謝謝! – chevett

+0

請注意,這並不意味着您無法通過'stream = True'接收讀取超時異常。 –