2013-06-26 64 views
2

如果我想使用的request.session的連接池功能要求的文件給這樣什麼是使用Python請求

s = requests.Session() 

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789') 
r = s.get("http://httpbin.org/cookies") 

一些代碼,正確的方法,我需要實例化一個新的每次我發送一個請求會話?如果我不需要一個新的會話,我該如何檢查舊的會話是否有效?

+0

你每次都是什麼? – Logan

+0

每次我發送一個請求,如果我不需要一個新的會話,我該如何檢查舊版本是否有效? – shellfly

回答

0

所以,我已經看過文檔和...我認爲它會自動保持你的會話活着。

如果您在臨終會議中遇到任何問題,請告知我,但假定請求會爲您處理。我可能誤解了文檔,但我認爲您不需要擔心。

從文檔:

保持活動

極好的消息 - 由於urllib3,保活爲100%自動在會話中! 您在會話中發出的任何請求都會自動重複使用相應的 連接!

請注意,只有在讀取所有主體數據 後,纔會將連接釋放回池以供重用;請確保將流設置爲False或讀取Response對象的內容屬性 。

1

如果你想使用連接池你做而不是想創建一個新的會話。連接池由Session對象管理,您應該通過它傳遞所有請求。

通常,如果您使用請求在您的程序中執行兩個或三個HTTP請求,則應該創建一個單一的Session對象並通過它運行所有請求。這將爲您提供所有請求必須提供的好處,例如Cookie持久性和連接池。