国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中requests庫session對象的妙用詳解

2020-01-04 16:25:40
字體:
來源:轉載
供稿:網友

在進行接口測試的時候,我們會調用多個接口發出多個請求,在這些請求中有時候需要保持一些共用的數據,例如cookies信息。

妙用1

requests庫的session對象能夠幫我們跨請求保持某些參數,也會在同一個session實例發出的所有請求之間保持cookies。
舉個栗子,跨請求保持cookies,在命令行上輸入下面命令:

# 創建一個session對象 s = requests.Session() # 用session對象發出get請求,設置cookies s.get('http://httpbin.org/cookies/set/sessioncookie/123456789') # 用session對象發出另外一個get請求,獲取cookies r = s.get("http://httpbin.org/cookies") # 顯示結果 r.text  '{"cookies": {"sessioncookie": "123456789"}}' 

妙用2

requests庫的session對象還能為我們提供請求方法的缺省數據,通過設置session對象的屬性來實現。

舉個栗子,設置請求的auth和headers默認的缺省參數:

# 創建一個session對象 s = requests.Session() # 設置session對象的auth屬性,用來作為請求的默認參數 s.auth = ('user', 'pass') # 設置session的headers屬性,通過update方法,將其余請求方法中的headers屬性合并起來作為最終的請求方法的headers s.headers.update({'x-test': 'true'}) # 發送請求,這里沒有設置auth會默認使用session對象的auth屬性,這里的headers屬性會與session對象的headers屬性合并 r = s.get('http://httpbin.org/headers', headers={'x-test2': 'true'}) # 查看發送請求的請求頭 r.request.headers 

得到的請求頭部是這樣的:

{'Authorization': 'Basic dXNlcjpwYXNz', 'x-test': 'false'}

注意1:方法層的參數覆蓋會話的參數,舉個栗子:

將上面的請求中加上auth參數:

r = s.get('http://httpbin.org/headers', auth=('user','hah'), headers={'x-test2': 'true'}) 

獲取該請求的請求頭

{'Authorization': 'Basic dXNlcjpoYWg=', 'x-test': 'false'}

我們發現,請求方法中的Authorization變化了,也就是說方法層的參數覆蓋了session的屬性。

注意2:在request請求中,省略session對象中設置的屬性,只需簡單地在方法層參數中將那個鍵的值設置為 None ,那個鍵就會被自動省略掉。

再舉個栗子:

TBD

總結

以上就是本文關于python中requests庫session對象的妙用詳解的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,小編會及時回復大家的。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲麻莱县| 井陉县| 阿合奇县| 民权县| 象山县| 土默特左旗| 佛山市| 奉节县| 五原县| 昌平区| 大同市| 黄大仙区| 龙川县| 江源县| 招远市| 丰台区| 拜泉县| 合水县| 磐石市| 西昌市| 奉化市| 永城市| 武隆县| 宜昌市| 青河县| 繁峙县| 山西省| 东山县| 清远市| 赣榆县| 五河县| 盖州市| 荣成市| 五家渠市| 临高县| 镇坪县| 体育| 丰台区| 繁峙县| 巴东县| 资兴市|