1. 程式人生 > 實用技巧 >requests學習筆記02

requests學習筆記02

一、會話物件  

  會話物件讓你能夠跨請求保持某些引數。它也會在同一個 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'})