天天看點

requests--請求頭設定

前戲

在我們進行自動化測試的時候,很多網站都會都請求頭做個校驗,比如驗證 User-Agent,看是不是浏覽器發送的請求,如果我們不加請求頭,使用腳本通路,預設User-Agent是python,這樣伺服器如果進行了校驗,就會拒絕我們的請求。是以,在做自動化的時候,加上必要的請求頭是一個好習慣。

請求頭設定

使用requests庫添加請求頭很簡單,隻需要傳一個headers參數就可以了

import requests

base_url = 'http://httpbin.org'

form_data = {"user": "zou", "pwd": '31500'}
form_header = {"User-Agent": "Chrome/68.0.3440.106"}  # 設定請求頭,字典格式= requests.post(base_url + '/post', data=form_data, headers=form_header)
print(r.url)  # 列印URL
print(r.status_code)
print(r.text)      

結果:

http://httpbin.org/post
200
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "pwd": "31500", 
    "user": "zou"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "18", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "Chrome/68.0.3440.106"
  }, 
  "json": null, 
  "origin": "112.10.81.210, 112.10.81.210", 
  "url": "https://httpbin.org/post"
}      

檢視請求頭

前面我們已經設定好了請求頭,我們可以使用r.request.headers來檢視請求頭

import requests

base_url = 'http://httpbin.org'

form_data = {"user": "zou", "pwd": '31500'}
form_header = {"User-Agent": "Chrome/68.0.3440.106"}
r = requests.post(base_url + '/post', data=form_data, headers=form_header)

print(r.request.headers)  # 檢視請求頭      

結果:

{'User-Agent': 'Chrome/68.0.3440.106', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '18', 'Content-Type': 'application/x-www-form-urlencoded'}      

 響應時間

當我們測接口的時候,我們肯定是想知道接口的響應時間,requests 提供了擷取響應時間的方法

res.elapsed      

擷取到的資料格式如下

0:00:00.030363      

可以直接轉為毫秒

res.elapsed.microseconds/1000