Python requests模塊安裝及使用教程圖解
requests模塊是一個(gè)用于訪問(wèn)網(wǎng)絡(luò)的模塊,其實(shí)類似的模塊還有很多,不在一一在這里解釋。這么多的相似的模塊為什么都說(shuō)只有這個(gè)好用呢,因?yàn)樗诵曰H绻銓W(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ù)一般都是寫在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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式2. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))3. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)4. XML入門的常見(jiàn)問(wèn)題(四)5. HTML5 Canvas繪制圖形從入門到精通6. XML入門的常見(jiàn)問(wèn)題(一)7. JavaWeb Servlet中url-pattern的使用8. 微信開(kāi)發(fā) 網(wǎng)頁(yè)授權(quán)獲取用戶基本信息9. XML解析錯(cuò)誤:未組織好 的解決辦法10. asp批量添加修改刪除操作示例代碼
