1,什么是Requests庫(kù)
Requests是用python語(yǔ)言編寫(xiě),基于urllib,采用Apache2 Licensed 開(kāi)源協(xié)議的HTTP庫(kù)。
它比urllib更加方便,可以節(jié)約我們大量的工作,完全滿足HTTP測(cè)試需求,用一句話來(lái)說(shuō),Requests是
python實(shí)現(xiàn)的簡(jiǎn)單易用的HTTP庫(kù)。?
安裝Request,直接輸入 pip3 install requests
2,使用方法(底部有碼云地址)
相對(duì)上一期的urllib庫(kù)要簡(jiǎn)單了很多了(個(gè)人覺(jué)得簡(jiǎn)單了不少的)
各種請(qǐng)求方式:
?
詳細(xì)請(qǐng)求方式
get方式:基本寫(xiě)法
帶參數(shù)的GET請(qǐng)求
也可以寫(xiě)成這樣的:
這兩種方式,都可以滿足為GET請(qǐng)求傳遞參數(shù)。
解析JSON
?
當(dāng)我們輸入. json ()時(shí),這時(shí)會(huì)給予我們一個(gè)字典類型的數(shù)據(jù)?;蛘呤褂胘son.loads也是可以的,返回結(jié)果完全一致的。
獲取二進(jìn)制數(shù)據(jù)(例如下載圖片,音頻和視頻等文件操作)
? 我們可以打開(kāi)該網(wǎng)站看一下內(nèi)容到底是什么,是一個(gè)小的來(lái)看,下怎么下來(lái)該圖片
添加請(qǐng)求頭:
某乎這個(gè)網(wǎng)站對(duì)于沒(méi)有請(qǐng)求頭的方式,是沒(méi)有辦法請(qǐng)求的,我們來(lái)看下報(bào)錯(cuò)信息。
下面是添加請(qǐng)求頭時(shí)的模擬請(qǐng)求:我們來(lái)模擬一個(gè)google瀏覽器的請(qǐng)求。
這次我們就可以請(qǐng)求成功了。
到這里,基本的GET請(qǐng)求方式都已經(jīng)全部說(shuō)完了,比上一期的urllib要簡(jiǎn)單很多了吧。反正我是這樣認(rèn)為的。
POST請(qǐng)求:基本請(qǐng)求方式
添加請(qǐng)求頭headers的POST請(qǐng)求
?
到這里我們把POST方法也大概說(shuō)了一遍,和get的方法基本一致。
響應(yīng):
response屬性:
狀態(tài)碼其實(shí)是有一個(gè)分組的,我們先來(lái)一個(gè)簡(jiǎn)單的示例:
在這里我們大家列出了所有的狀態(tài)碼:
有了這些狀態(tài)碼,我們也可以這樣來(lái)寫(xiě):
?Requests高級(jí)操作
文件上傳
?
獲得cookie
?
保持會(huì)話:
在這里我們看到cookie并沒(méi)有被設(shè)置成功,這樣訪問(wèn),其實(shí)我們是發(fā)起了兩次請(qǐng)求,我們?cè)谶@里需要設(shè)置一個(gè)session對(duì)象,使其保持會(huì)話狀態(tài)。示例如下
這樣我們就成功的設(shè)置了保持會(huì)話。不擔(dān)心cookie設(shè)置問(wèn)題,Requests會(huì)幫我們自動(dòng)設(shè)置好的。
SLL證書(shū)驗(yàn)證:
現(xiàn)在的這種狀態(tài)是不安全的,會(huì)給予警告提示。我們可以這樣來(lái)繼續(xù)設(shè)置證書(shū):
我們也可以手動(dòng)的刪除警告信息,需要倒入原生的urllib3的包,我們來(lái)看一下效果:
代理設(shè)置:
由于我這沒(méi)有代理ip,我簡(jiǎn)單寫(xiě)了一個(gè)示例,大家有代理的可以自行更改ip端口進(jìn)行嘗試
代理如果有賬戶密碼時(shí),我們可以這樣來(lái)寫(xiě)
超時(shí)設(shè)置:
認(rèn)證設(shè)置:
以上兩種認(rèn)證方式都是可以的。
異常處理: 剛才我們?cè)谠O(shè)置超時(shí)的時(shí)候就見(jiàn)過(guò)一個(gè)異常處理,下面我們來(lái)看下異常處理
這里只寫(xiě)了幾個(gè)常見(jiàn)的異常,詳細(xì)的我們可以進(jìn)入官網(wǎng)查看,地址:?https://docs.python-requests.org/?(可能需要翻墻)
以上我們就對(duì)Requests庫(kù)基本都介紹一遍了,希望對(duì)大家有所幫助。
下篇文章我會(huì)來(lái)介紹一下BeautifulSoup庫(kù)的使用。
上述代碼地址:https://gitee.com/dwyui/Requests
感謝大家的閱讀,不正確的地方,還希望大家來(lái)斧正,鞠躬,謝謝。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
