1. 程式人生 > 其它 >介面測試-GET請求(五)

介面測試-GET請求(五)

如果想用python做介面測試,我們首先有不得不瞭解和學習的模組。它就是第三方模組:Requests。 雖然Python內建的urllib模組,用於訪問網路資源。但是,它用起來比較麻煩,而且,缺少很多實用的高階功能。更好的方案是使用

requests。它是一個Python第三方庫,處理URL資源特別方便。檢視其中文官網:http://cn.python-requests.org/zh_CN/latest/index.html 英文官網:http://www.python-requests.org/en/master/     可以看一下它的很多實用的高階功能。

一、功能特性

Requests 完全滿足今日 web 的需求。

  • Keep-Alive & 連線池
  • 國際化域名和 URL
  • 帶持久 Cookie 的會話
  • 瀏覽器式的 SSL 認證
  • 自動內容解碼
  • 基本/摘要式的身份認證
  • 優雅的 key/value Cookie
  • 自動解壓
  • Unicode 響應體
  • HTTP(S) 代理支援
  • 檔案分塊上傳
  • 流下載
  • 連線超時
  • 分塊請求
  • 支援 .netrc

二、安裝相關

pip install requests

  注意:pip很容易就會版本升級,

  方法1:檢測並更新

pip list –outdated

  方法2:

    ♦先解除安裝:

pip uninstall packagename

    ♦在用:easy_install.exe安裝

easy_install.exe pip

三、使用requests(GET請求)
# -*- coding: utf-8 -*-
import requests

params = {"wd":'西遊記'}
url = 'https://www.baidu.com/s'
r = requests.get('https://www.baidu.com',params=params)
print(r.status_code)
print(r.url)
print(r.text)

  

四、其他用法

1.response 的返回內容(content)還有其它更多資訊

-- r.status_code #響應狀態碼

-- r.content #位元組方式的響應體,會自動為你解碼 gzip 和deflate 壓縮

-- r.headers #以字典物件儲存伺服器響應頭,但是這個字典比較特殊,字典鍵不區分大小寫,若鍵不存在則返回 None

-- r.json() #Requests 中內建的 JSON 解碼器,requests的方便之處還在於,對於特定型別的響應,例如JSON,可以直接獲取

-- r.url # 獲取 url

-- r.encoding # 編碼格式,requests自動檢測編碼

-- r.cookies # 獲取 cookie

-- r.raw #返回原始響應體-- r.text #字串方式的響應體,會自動根據響應頭部的字元編碼進行解碼

-- r.raise_for_status() #失敗請求(非 200 響應)丟擲異常