# 在命令列工具中使用
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.編寫驅動時如何區分裝置的...