亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python requests模塊session代碼實例

 更新時間:2020年04月14日 09:07:02   作者:酌三巡  
這篇文章主要介紹了Python requests模塊session代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

http協(xié)議本身是無狀態(tài)的,為了讓請求之間保持狀態(tài),有了session和cookie機(jī)制。requests也提供了相應(yīng)的方法去操縱它們。

requests中的session對象能夠讓我們跨http請求保持某些參數(shù),即讓同一個session對象發(fā)送的請求頭攜帶某個指定的參數(shù)。當(dāng)然,最常見的應(yīng)用是它可以讓cookie保持在后續(xù)的一串請求中。

下面,通過官方文檔中的示例來了解如何使用它。

import requests
s = requests.Session()
# 第一步:發(fā)送一個請求,用于設(shè)置請求中的cookies
# tips: http://httpbin.org能夠用于測試http請求和響應(yīng)
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
# 第二步:再發(fā)送一個請求,用于查看當(dāng)前請求中的cookies
r = s.get("http://httpbin.org/cookies")
print(r.text)

運(yùn)行結(jié)果

{
 "cookies": {
  "sessioncookie": "123456789"
 }
}

從結(jié)果中我們可以看出,第二次請求已經(jīng)攜帶上了第一次請求所設(shè)置的cookie,即通過session達(dá)到了保持cookie的目的。示例中創(chuàng)建了一個requests.Session()對象,通過該對象來進(jìn)行http請求操作,該操作基本類似于requests.request()

由于session讓請求之間具有了連貫性,那么,就有了跨請求參數(shù)和非跨請求參數(shù)的區(qū)別。即有時我想讓所有請求均帶有某個參數(shù),而有時我只是想讓單獨(dú)的一條請求帶上臨時的參數(shù)。通過下面的例子來了解如何使用。

import requests

s = requests.Session()
s.headers.update({'x-test': 'true'})
# both 'x-test' and 'x-test2' are sent
r1 = s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})
print(r1.text)
# 'x-test' is sent
r2 = s.get('http://httpbin.org/headers')
print(r2.text)

運(yùn)行結(jié)果

# r1.text
{
 "headers": {
  "Accept": "*/*", 
  "Accept-Encoding": "gzip, deflate", 
  "Host": "httpbin.org", 
  "User-Agent": "python-requests/2.22.0", 
  "X-Amzn-Trace-Id": "Root=1-5e91656f-b99f14a4d6f47f9e55a90bb4", 
  "X-Test": "true", 
  "X-Test2": "true"
 }
}
# r2.text
{
 "headers": {
  "Accept": "*/*", 
  "Accept-Encoding": "gzip, deflate", 
  "Host": "httpbin.org", 
  "User-Agent": "python-requests/2.22.0", 
  "X-Amzn-Trace-Id": "Root=1-5e91656f-e9741db4c2ca2fd6e0628396", 
  "X-Test": "true"
 }
}

從結(jié)果中我們可以得出兩條結(jié)論:

session可以為請求方法提供缺省數(shù)據(jù),比如第一次請求中的{'x-test': 'true'}就是缺省數(shù)據(jù),此時的缺省數(shù)據(jù)就是跨請求參數(shù)。
方法級別的參數(shù)不會被跨請求保持,比如第二次請求時,沒有攜帶headers={'x-test2': 'true'},返回的結(jié)果中也沒有{'x-test2': 'true'},說明該參數(shù)沒有在第一次請求后被保持住。

參考資料

https://github.com/psf/requests/blob/master/requests/sessions.py

https://requests.readthedocs.io/en/master/user/advanced/#session-objects

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python最火、R極具潛力 2017機(jī)器學(xué)習(xí)調(diào)查報告

    Python最火、R極具潛力 2017機(jī)器學(xué)習(xí)調(diào)查報告

    Python最火,R極具潛力,分享2017機(jī)器學(xué)習(xí)調(diào)查報告,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 在Django的URLconf中進(jìn)行函數(shù)導(dǎo)入的方法

    在Django的URLconf中進(jìn)行函數(shù)導(dǎo)入的方法

    這篇文章主要介紹了在Django的URLconf中進(jìn)行函數(shù)導(dǎo)入的方法,Django是Python的最為著名的開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • pyinstaller通過spec文件打包py程序的步驟

    pyinstaller通過spec文件打包py程序的步驟

    這篇文章主要介紹了pyinstaller通過spec文件打包py程序,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • tensorflow中的梯度求解及梯度裁剪操作

    tensorflow中的梯度求解及梯度裁剪操作

    這篇文章主要介紹了tensorflow中的梯度求解及梯度裁剪操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python數(shù)據(jù)處理實戰(zhàn)(必看篇)

    python數(shù)據(jù)處理實戰(zhàn)(必看篇)

    下面小編就為大家?guī)硪黄猵ython數(shù)據(jù)處理實戰(zhàn)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 使用python爬取B站千萬級數(shù)據(jù)

    使用python爬取B站千萬級數(shù)據(jù)

    B站我想大家都熟悉吧,其實 B 站的爬蟲網(wǎng)上一搜一大堆。不過紙上得來終覺淺,絕知此事要躬行,我碼故我在。
    2018-06-06
  • Python基礎(chǔ)學(xué)習(xí)之函數(shù)和代碼復(fù)用詳解

    Python基礎(chǔ)學(xué)習(xí)之函數(shù)和代碼復(fù)用詳解

    函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)學(xué)習(xí)之函數(shù)和代碼復(fù)用的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python 測試框架unittest和pytest的優(yōu)劣

    Python 測試框架unittest和pytest的優(yōu)劣

    這篇文章主要介紹了Python 測試框架unittest和pytest的優(yōu)劣,幫助大家更好的進(jìn)行python程序的測試,感興趣的朋友可以了解下
    2020-09-09
  • 最新評論