requests學習筆記02
阿新 • • 發佈:2020-10-22
一、會話物件
會話物件讓你能夠跨請求保持某些引數。它也會在同一個 Session 例項發出的所有請求之間保持 cookie, 期間使用urllib3
的connection pooling功能。所以如果你向同一主機發送多個請求,底層的 TCP 連線將會被重用,從而帶來顯著的效能提升。 (參見HTTP persistent connection).會話物件具有主要的 Requests API 的所有方法。我們來跨請求保持一些 cookie:
s = requests.Session() s.get('http://httpbin.org/cookies/set/sessioncookie/123456789') r = s.get("http://httpbin.org/cookies") print(r.text) # '{"cookies": {"sessioncookie": "123456789"}}'
會話也可用來為請求方法提供預設資料。這是通過為會話物件的屬性提供資料來實現的:
s = requests.Session() s.auth = ('user', 'pass') s.headers.update({'x-test': 'true'}) # both 'x-test' and 'x-test2' are sent s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})