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

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