中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

requests第三方庫在測試中怎么用

發布時間:2021-11-30 17:23:07 來源:億速云 閱讀:132 作者:小新 欄目:編程語言

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

1.requests庫文檔鏈接

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

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

2.使用requests發送get請求

  • 使用requests發送get請求,首先需安裝requests模塊,然后導入使用;

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

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

3.如何傳遞url參數

  • 如果我們想要手動構建URl,可以使用params關鍵字來傳參,如:

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

4.resquest中常用的Response響應信息

  • r.text:返回響應對象,Unicode型數據,主要取文本;

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

  • r.url:獲取當前請求的url;

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

  • r.encoding:編碼方式;

  • r.status_code:狀態響應碼;

  • r.headers:響應頭;

  • r.cookies:返回cookie;

5.使用requests發送post請求

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

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

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是默認的post請求的Content-Type
  • application/json:以json格式提交數據,主要是用于發送ajax請求中,動態加載數據;

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

6.超時

  • 為了防止服務器響應緩慢,導致客戶端處理異常,requests請求大多設置 timeout 參數,例如:requests.get(‘ http://baidu.com ‘, timeout=10),如果需要讓 request 永遠等待,則傳入一個 None 作為 timeout 的值;

import requests
from requests.cookies import RequestsCookieJar
r = requests.get('https://www.baidu.com', timeout=0.001)
print(r)
# 執行代碼時會報錯,因為在0.001秒時服務器響應還沒有完成
  • Cookie 的返回對象為 RequestsCookieJar,它的行為和字典類似,但接口更為完整,適合跨域名跨路徑使用,可以把 Cookie Jar 傳到 Requests 中來請求登錄頁面,例如:r = requests.get('[https://www.baidu.com/',](https://www.baidu.com/',) cookies=jar)

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

  • 獲取cookie

from requests.sessions import Session
# 返回一個會話的上下文管理器對象
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請求登錄頁面

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)

看完了這篇文章,相信你對“requests第三方庫在測試中怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿克陶县| 茌平县| 临朐县| 康乐县| 红桥区| 会理县| 中江县| 西林县| 杭州市| 得荣县| 淄博市| 栾城县| 寻乌县| 龙游县| 巫溪县| 榆林市| 怀仁县| 玉环县| 德兴市| 炎陵县| 六枝特区| 高碑店市| 义乌市| 洞头县| 菏泽市| 高平市| 乐亭县| 迭部县| 平塘县| 夏津县| 黑河市| 若羌县| 丰顺县| 尚志市| 山西省| 孝感市| 阜宁县| 都安| 武宁县| 中西区| 洪江市|