request高階用法

2021-09-20 04:45:53 字數 3056 閱讀 3104

基本例項1:

import requests

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

print(response.status_code)

描述:

verify=false,忽略證書認證

基本例項2:

import logging

import requests

logging.capturewarnings(true)

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

print(response.status_code)

描述:

通過捕獲警告到日誌的方式忽略警告

基本例項3:

import requests

response = requests.get('', cert=('/path/server.crt', '/path/key'))

print(response.status_code)

描述:

指定本地證書,可以是單個檔案包含秘鑰和證書,或乙個包含兩個檔案路徑的元組

基本例項1:

import requests

proxies =

requests.get('', proxies=proxies

基本例項2:

import requests

proxies =

requests.get('', proxies=proxies)

描述:

**使用http basic auth,則必須用類似 http://user:password@host:port 這樣的語法來設定

基本例項3:

import requests

proxies =

requests.get('', proxies=proxies)

描述:

使用socks 協議的**,必須安裝socks庫,命令如下:

pip3 install "requests[socks]"
設定超時時間需要用到 timeout 引數。這個時間的計算是發出 request 到伺服器返回 response 的時間

基本例項1:

import requests

r = requests.get('', timeout=1)

print(r.status_code)

描述:

超時時間設定為 1 秒,如果 1 秒內沒有響應,那就丟擲異常。實際上請求分為兩個階段,即connect和read階段,在這裡設定的是兩個階段的總和。

如果想永久等待,則需要將timeout設定為none,或者不設定直接留空

基本例項2:

r = requests.get('', timeout=(5, 11))
描述:

分別設定connect和read階段的超時時間

基本例項1:

print(r.status_code)描述:

使用httpbasicauth類

基本例項2:

print(r.status_code)描述:

簡單寫法,預設使用httpbasicauth類

基本例項3:

import requests

from requests_oauthlib import oauth1

url = ''

'user_oauth_token', 'user_oauth_token_secret')

requests.get(url, auth=auth)

基本例項:

from requests import request, session

url = ''

data =

headers =

s = session()

req = request('post', url, data=data, headers=headers)

prepped = s.prepare_request(req)

r = s.send(prepped)

print(r.text)

描述:

我們引用了request,然後使用url、data、headers引數構造乙個request物件,呼叫 session 的 prepare_request() 方法將其轉換為乙個 prepared request 物件,然後呼叫 send() 方法傳送即可

request庫的基本用法

request urllib 獲取url 獲取狀態碼 request.states code response.getcode 返回html request.text response.read 獲得頭部資訊 request.headers response.info 返回請求的url reques...

python高階用法 Python高階用法

python高階用法 三元表示式 x 10 y 20 print x if x y else y x 100 y 20 print x if x y else y 列表推導式和生成器 列表推導式 print i for i in range 10 print i 2 for i in range 1...

Request庫介面測試基本用法

requests庫內置了不同的方法來傳送不同型別的http請求,用法如下所示 import requests base url get請求方式 r requests.get base url get 傳送post型別請求 r requests.post base url post 傳送put型別請求...