Day78 requests模組使用

2021-09-23 07:39:32 字數 2570 閱讀 7236

# 在命令列工具中使用

pip install requests

# 使用前需要匯入

import requests

下面我們來看一下requests庫的幾種常用高階用法

會話物件

from requests import session

s = session()

# 會話拿到

r = s.get('')

print(r) # print(r.cookies) # ]>

# 再次發起請求

r = s.get('')

print(r.text)

我們可以拿到乙個名為r的 response 物件,然後在這個物件中獲取所有我們想要的資訊,大家可以自己執行**看看輸出結果。

import requests

with requests.get('', stream=true) as r:

print(r.text)

使用prepared request物件
from requests import request, session

s = session()

# 獲取prepared request物件

req = request('get', url,

data=data,

headers=header

)prepped = req.prepare()

# do something with prepped.body

# do something with prepped.headers

resp = s.send(prepped,

stream=stream,

verify=verify,

proxies=proxies,

cert=cert,

timeout=timeout

)print(resp.status_code)

ssl 證書驗證
import requests

import urllib3

urllib3.disable_warnings()

# verify預設引數就是true

ret = requests.get('', verify=true)

print(ret.status_code)

# 也可以關閉verify, 但是會有警告

ret = requests.get('', verify=false)

print(ret.status_code)

流式上傳
with open('massive-body', 'rb') as f:

requests.post('', data=f)

與requests.post("", files=files)不一樣

塊編碼請求

f.write(block)post 多個分塊編碼的檔案

然後把檔案設到乙個元組的列表中,其中元組結構為 (form_field_name, file_info):

import requests

url = ''

multiple_files = [

# images是input的name屬性

('images', ('foo.png', open('foo.png', 'rb'), 'image/png')),

('images', ('bar.png', open('bar.png', 'rb'), 'image/png'))]

r = requests.post(url, files=multiple_files)

print(r.text)

設定proxy**
import requests

#普通**

proxies =

# 往請求中設定**(proxies)

r = requests.get("", proxies=proxies)

print(r.status_code)

# 帶有使用者名稱和密碼的**, basic認證

proxies =

r = requests.get("", proxies=proxies)

print(r.status_code)

# 設定socks**

proxies =

r = requests.get("", proxies=proxies)

print(r.status_code)

參考:

requests模組入門

requests庫是比urllib更加方便實用的http第三方庫,它支援http連線保持和連線池,支援使用cookie保持會話,支援檔案上傳,支援自動響應內容的編碼,支援國際化的url和post資料自動編碼。requests.request 構造乙個方法,它是支撐以下各方法的基礎方法。request...

Python模組之requests模組

requests python標準庫中提供了 urllib等模組以供http請求,但是,它的 api 太渣了。它是為另乙個時代 另乙個網際網路所建立的。它需要巨量的工作,甚至包括各種方法覆蓋,來完成最簡單的任務。import urllib.request f urllib.request.urlop...

Day 78 初始驅動

pragma pack 1 dev 目錄下存放 裝置節點 sys 目錄下存放 所有的裝置檔案 proc 目錄下存放 所有的核心 動態載入模組 insmod hello.ko 動態解除安裝模組 rmmod hello 2.linux下裝置的分類 字元裝置 塊裝置 網路裝置 3.編寫驅動時如何區分裝置的...