Python requests模塊安裝及使用教程圖解
requests模塊是一個(gè)用于訪問(wèn)網(wǎng)絡(luò)的模塊,其實(shí)類似的模塊還有很多,不在一一在這里解釋。這么多的相似的模塊為什么都說(shuō)只有這個(gè)好用呢,因?yàn)樗诵曰?。如果你學(xué)過(guò)urllib之類的模塊的話,比如urllib,對(duì)比一下就很清楚了。
1、requests模塊的安裝
requests模塊的安裝非常簡(jiǎn)單,使用pip install requests命令即可安裝,我是在python的Terminal中直接安裝的,大家也可以在cmd命令窗口中進(jìn)行安裝。

2、requests模塊的導(dǎo)入
導(dǎo)入requests模塊時(shí),直接使用import requests 命令進(jìn)行導(dǎo)入即可,導(dǎo)入后就可以使用啦。

3、requests模塊的使用
在上面的requests導(dǎo)入中,已經(jīng)舉了一個(gè)最簡(jiǎn)單的requests使用的例子,在實(shí)際的接口自動(dòng)化測(cè)試中,我們往往需要傳遞一些參數(shù),并獲取響應(yīng)的返回結(jié)果,下面我們將更詳細(xì)的講解requests的使用。
1)requests模塊的簡(jiǎn)單使用
requests提供了如下幾種HTTP請(qǐng)求方式:GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE,我們舉幾個(gè)比較簡(jiǎn)單的例子,示范代碼如下:

2)requests模塊發(fā)送請(qǐng)求時(shí)傳入?yún)?shù)
上面我們介紹了requests中常用的幾種請(qǐng)求方式,由于在工作中我們比較常用的是post和get方式進(jìn)行請(qǐng)求,這里我們只會(huì)為大家講解post和get兩種請(qǐng)求方式,其他的內(nèi)容如果有需要請(qǐng)大家自行補(bǔ)充。
get請(qǐng)求方式傳入?yún)?shù)
相信了解過(guò)http的小伙伴們都知道,get請(qǐng)求方式的參數(shù)一般都是寫(xiě)在url之后,以問(wèn)號(hào)與域名進(jìn)行分隔,多個(gè)參數(shù)之間使用&符號(hào)進(jìn)行拼接連接,下面我們?yōu)榇蠹遗e一個(gè)簡(jiǎn)單的例子來(lái)進(jìn)行說(shuō)明:

post請(qǐng)求方式傳入?yún)?shù)
在前面的學(xué)習(xí)中我們已經(jīng)了解到post請(qǐng)求多用于提交數(shù)據(jù),提交的數(shù)據(jù)中可能會(huì)包含如密碼、身份證號(hào)、驗(yàn)證碼等私密信息,這些信息如果直接拼接在url中是不安全的,那么post請(qǐng)求是怎樣傳遞參數(shù)的呢,post請(qǐng)求傳遞參數(shù)的方式有很多種,這里我們只介紹最常用的三種:
--application/x-www-form-urlencoded,form表單默認(rèn)的數(shù)據(jù)格式,提交的數(shù)據(jù)按照 key1=val1&key2=val2 的方式進(jìn)行編碼,key 和 val 都進(jìn)行了 URL 轉(zhuǎn)碼。大部分服務(wù)端語(yǔ)言都對(duì)這種方式有很好的支持。比如下面的http請(qǐng)求格式:

--application/json,現(xiàn)在越來(lái)越多的人把它作為請(qǐng)求頭,用來(lái)告訴服務(wù)端消息主體是序列化后的 JSON 字符串。服務(wù)端語(yǔ)言也有很多函數(shù)去解析JSON,使用JSON可以支持更加復(fù)雜的結(jié)構(gòu)化數(shù)據(jù)。比如下面的http請(qǐng)求格式:

--multipart/form-data,對(duì)用于在表單中上傳文件時(shí),也可以上傳普通數(shù)據(jù),只需要讓form的enctype等于multipart/form-data就可以了。比如下面的http請(qǐng)求格式:

下面我們來(lái)詳細(xì)了解一下使用requests來(lái)傳遞這三種類型的參數(shù):
--以form表單形式發(fā)送post請(qǐng)求,具體代碼實(shí)現(xiàn)如下所示:

-- 以json格式發(fā)送post請(qǐng)求,具體代碼實(shí)現(xiàn)如下所示:

--以multipart形式發(fā)送post請(qǐng)求,具體代碼實(shí)現(xiàn)如下所示:

4、封裝一個(gè)自己的requests模塊
在自動(dòng)化測(cè)試的過(guò)程中,我們會(huì)對(duì)多個(gè)接口進(jìn)行測(cè)試,而目前我接觸到的幾乎所有接口都是返回的json格式的數(shù)據(jù),所以封裝了一個(gè)模塊,返回json格式的數(shù)據(jù),方便在后面進(jìn)行調(diào)用,現(xiàn)在我把代碼粘在下面,有興趣的小伙伴們可以參考:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?matplotlib數(shù)據(jù)可視化圖繪制
這篇文章主要介紹了Python?matplotlib數(shù)據(jù)可視化圖繪制,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
Pandas過(guò)濾dataframe中包含特定字符串的數(shù)據(jù)方法
今天小編就為大家分享一篇Pandas過(guò)濾dataframe中包含特定字符串的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
解決python中的print函數(shù)自動(dòng)換行的問(wèn)題
這篇文章主要介紹了解決python中的print函數(shù)自動(dòng)換行的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
python實(shí)現(xiàn)Virginia無(wú)密鑰解密
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)Virginia無(wú)密鑰解密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Python中實(shí)現(xiàn)switch功能實(shí)例解析
這篇文章主要介紹了Python中實(shí)現(xiàn)switch功能實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
python如何實(shí)現(xiàn)單鏈表的反轉(zhuǎn)
這篇文章主要介紹了python如何實(shí)現(xiàn)單鏈表的反轉(zhuǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
深入了解python基于tkinter寫(xiě)的畫(huà)圖項(xiàng)目
這篇文章主要為大家介紹了python基于tkinter寫(xiě)的畫(huà)圖項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12
Python解決N階臺(tái)階走法問(wèn)題的方法分析
這篇文章主要介紹了Python解決N階臺(tái)階走法問(wèn)題的方法,簡(jiǎn)單描述了走臺(tái)階問(wèn)題,并結(jié)合實(shí)例形式分析了Python使用遞歸與遞推算法解決走臺(tái)階問(wèn)題的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12

