requests第三方庫在測(cè)試中怎么用-創(chuàng)新互聯(lián)

小編給大家分享一下requests第三方庫在測(cè)試中怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比烏當(dāng)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式烏當(dāng)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋烏當(dāng)?shù)貐^(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

1.requests庫文檔鏈接

  • 官方文檔: http://www.python-requests.org/en/master/

  • 第三方中文文檔: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

2.使用requests發(fā)送get請(qǐng)求

  • 使用requests發(fā)送get請(qǐng)求,首先需安裝requests模塊,然后導(dǎo)入使用;

pip install requests
import requests
  • 然后可以使用例如:r = requests.get('https://www.baidu.com'),方法獲取某個(gè)網(wǎng)頁,r表示一個(gè) Response 對(duì)象,我們從這個(gè)對(duì)象中獲取所有我們想要的信息;

import requests
from requests.cookies import RequestsCookieJar
r = requests.get('https://www.baidu.com')

3.如何傳遞url參數(shù)

  • 如果我們想要手動(dòng)構(gòu)建URl,可以使用params關(guān)鍵字來傳參,如:

r = requests.get('https://www.baidu.com') ,params={'id': 'abc'})
print(r.url)    # 輸出:https://www.baidu.com/?id=abc;
  • 所以我們可以知道如果是手工構(gòu)建 URL,那么數(shù)據(jù)會(huì)以鍵/值對(duì)的形式置于 URL 中,跟在一個(gè)問號(hào)的后面;

4.resquest中常用的Response響應(yīng)信息

  • r.text:返回響應(yīng)對(duì)象,Unicode型數(shù)據(jù),主要取文本;

r = requests.get('https://www.baidu.com')
print(r.text)
  • r.content:返回響應(yīng)對(duì)象,bytes型,二進(jìn)制數(shù)據(jù),主要取圖片和文件等,中文顯示為字符;

  • r.url:獲取當(dāng)前請(qǐng)求的url;

  • r.json():Requests中內(nèi)置的JSON解碼器;

  • r.encoding:編碼方式;

  • r.status_code:狀態(tài)響應(yīng)碼;

  • r.headers:響應(yīng)頭;

  • r.cookies:返回cookie;

5.使用requests發(fā)送post請(qǐng)求

  • POST請(qǐng)求方式的編碼方式,也就是Content-Type的類型一般有3種,分別是:

  • application/x-www-form-urlencoded:以form表單形式提交數(shù)據(jù),使用的時(shí)候只需要將請(qǐng)求的參數(shù)構(gòu)造成一個(gè)字典,然后傳給requests.post()的data參數(shù)即可;

import requests
from requests.cookies import RequestsCookieJar
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload )
print(r.text)
# 輸出打印中的headers中是"Content-Type": "application/x-www-form-urlencoded",所以我們可以知道application/x-www-form-urlencoded是默認(rèn)的post請(qǐng)求的Content-Type
  • application/json:以json格式提交數(shù)據(jù),主要是用于發(fā)送ajax請(qǐng)求中,動(dòng)態(tài)加載數(shù)據(jù);

  • multipart/form-data:一般用于上傳文件,使用時(shí)需要將文件傳給requests.post()的files參數(shù);

6.超時(shí)

  • 為了防止服務(wù)器響應(yīng)緩慢,導(dǎo)致客戶端處理異常,requests請(qǐng)求大多設(shè)置 timeout 參數(shù),例如:requests.get(‘ /tupian/20230522/baidu.com ‘, timeout=10),如果需要讓 request 永遠(yuǎn)等待,則傳入一個(gè) None 作為 timeout 的值;

import requests
from requests.cookies import RequestsCookieJar
r = requests.get('https://www.baidu.com', timeout=0.001)
print(r)
# 執(zhí)行代碼時(shí)會(huì)報(bào)錯(cuò),因?yàn)樵?.001秒時(shí)服務(wù)器響應(yīng)還沒有完成
  • Cookie 的返回對(duì)象為 RequestsCookieJar,它的行為和字典類似,但接口更為完整,適合跨域名跨路徑使用,可以把 Cookie Jar 傳到 Requests 中來請(qǐng)求登錄頁面,例如:r = requests.get('[https://www.baidu.com/',](https://www.baidu.com/',) cookies=jar);

我們來嘗試一下使用cookie獲取登錄豆瓣官網(wǎng)之后的信息

  • 獲取cookie

from requests.sessions import Session
# 返回一個(gè)會(huì)話的上下文管理器對(duì)象
requests = Session()
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
date = {'ck':'', 'name':'xxxxxxxx', 'password': 'xxxxxxxx', 'remember':'false', 'ticket': ''}
result = requests.post('https://accounts.douban.com/j/mobile/login/basic', data=date, headers=headers)
print(result.text)
# 拿到cookie
cookies = result.cookies
for i in cookies:
    print(i)
for item in cookies.iteritems():
    print(item)
print(cookies.get_dict())
print(cookies.list_paths())
print(cookies.list_domains())
print(cookies.items())
  • 獲取使用cookie請(qǐng)求登錄頁面

from requests.cookies import RequestsCookieJar
import requests
jar = RequestsCookieJar()
jar.set('bid', 'OvpnenMUNWo', domain='.douban.com', path='/')
jar.set('dbcl2', r'"153039786:aYRnqJukECk"', domain='.douban.com', path='/')
r = requests.get('https://www.douban.com/', cookies=jar)
print(r.text)

看完了這篇文章,相信你對(duì)“requests第三方庫在測(cè)試中怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

本文標(biāo)題:requests第三方庫在測(cè)試中怎么用-創(chuàng)新互聯(lián)
本文鏈接:http://muchs.cn/article4/pcpoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣、App開發(fā)、網(wǎng)站策劃、網(wǎng)站維護(hù)、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)