小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

[接口測(cè)試_B] 08 requests的基本用法

 開源優(yōu)測(cè) 2021-12-09


requests的官方文檔:http://cn./zh_CN/latest/

requests是一個(gè)處理http請(qǐng)求的第三方庫,所以,要了解requests的用法,需要先了解http協(xié)議,了解http協(xié)議的方法請(qǐng)出門右轉(zhuǎn)。
看一下requests支持的web特性,根據(jù)運(yùn)用過程中的需要去查看requests的官方文檔或者搜索吧。

requests支持的web特性

  • Keep-Alive & 連接池

  • 國際化域名和 URL

  • 帶持久 Cookie 的會(huì)話

  • 瀏覽器式的 SSL 認(rèn)證

  • 自動(dòng)內(nèi)容解碼

  • 基本/摘要式的身份認(rèn)證

  • 優(yōu)雅的 key/value Cookie

  • 自動(dòng)解壓

  • Unicode 響應(yīng)體

  • HTTP(S) 代理支持

  • 文件分塊上傳

  • 流下載

  • 連接超時(shí)

  • 分塊請(qǐng)求

  • 支持 .netrc

requests發(fā)送請(qǐng)求

使用requests發(fā)送網(wǎng)絡(luò)請(qǐng)求非常簡單,發(fā)送請(qǐng)求方式與HTTP類型相關(guān)。
示例接口地址:https://developer.github.com/v3/ http:///


GET請(qǐng)求

1、不傳遞參數(shù)的get請(qǐng)求
import requests r = requests.get('http:///get')
print(r.status_code)

2、傳遞參數(shù)的get請(qǐng)求
import requests payload = {'key1': 'hello', 'key2': 'world'}
r = requests.get('http:///get', params=payload)
print(r.url)
print(r.text)

POST請(qǐng)求

    post向服務(wù)器提交數(shù)據(jù)有4中常見的方式:

1 application/x-www-form-urlencoded

2 multipart/form-data

3 application/json

4 text/xml


提交數(shù)據(jù)的方式在headers的Content-Type中進(jìn)行設(shè)定。

1、提交json格式的數(shù)據(jù)
import requests headers = {"Content-Type": "application/json"}

payload = {'key1': 'hello', 'key2': 'world'}

r = requests.post('http:///post',
   data=payload, headers=headers)
   
print(r.url)

print(r.text)

image.png

2、POST上傳文件
import requests files = {'file': open('interface_url.xlsx', 'rb')}
r = requests.post('http:///post', files=files)
print(r.text)


PUT\DELETE\PATCH請(qǐng)求

請(qǐng)求格式與post一樣。

requests中請(qǐng)求的響應(yīng)類型

  • r.text:響應(yīng)內(nèi)容的格式與r.encoding的編碼有關(guān)

  • r.content:二進(jìn)制響應(yīng)內(nèi)容

  • r.json():json格式的響應(yīng)內(nèi)容

  • r.raw:原始響應(yīng)內(nèi)容,需要在發(fā)送請(qǐng)求時(shí),設(shè)置stream=True

import requests username = 'catleer'url = 'https://api.github.com'path = '/users/' + username r = requests.get(url+path, stream=True) print(r.url) print(r.status_code) print(r.encoding) print("響應(yīng)內(nèi)容:", r.text) print("二進(jìn)制響應(yīng)內(nèi)容:", r.content) print("json格式的響應(yīng)內(nèi)容:", r.json()) print("原始響應(yīng)內(nèi)容:", r.raw) print(r.raw.read(100))with open("11.txt", 'wb') as fd:    c = 1    for chunk in r.iter_content(100):        fd.write(chunk)        c = c + 1    print(c)

作者: 樂大爺

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多