python 介面自動化測試二(request.get)

來源:互聯網
上載者:User

標籤:title   org   代碼   發送   type   先來   for   搭建   .com   

環境搭建好後,接下來我們先來瞭解一下requests的一些簡單使用,主要包括:

  1. requests常用要求方法使用,包括:get,post
  2. requests庫中的Session、Cookie的使用
  3. 其它進階部分:認證、代理、認證驗證、逾時配置、錯誤異常處理等。

 

本節首先來瞭解一下requests庫中如何發送get請求:

一、看下方法定義:

1、到官方文檔去了下requests.get()方法的定義,如下:

 

2、點擊右上方的【source】,看一下它的源碼如下:

 

看到最後一行return,get方法最後是通過調用 requests.request 方法實現的,其實在其它的要求方法如post,put,head,delete等方法都是調用的request方法,然後把要求方法的類型傳遞給request方法第一個參數。

 

3、HTTP協議是一個基於請求/響應模式的、無狀態的,應用程式層協議。既然有請求,就有響應,來看下resquest中常用的響應資訊:

 

二、get方法簡單使用: 

1、不帶參數的get:

# -*- coding:utf-8 -*-#不帶參數的getimport requestsimport jsonhost = "http://httpbin.org/"endpoint = "get"url = ‘‘.join([host,endpoint])r = requests.get(url)#response = r.json()print type(r.text)print (eval(r.text))

輸出:

{    ‘origin‘: ‘183.14.133.88‘,    ‘headers‘: {        ‘Connection‘: ‘close‘,        ‘Host‘: ‘httpbin.org‘,        ‘Accept-Encoding‘: ‘gzip,        deflate‘,        ‘Accept‘: ‘*/*‘,        ‘User-Agent‘: ‘python-requests/2.18.1‘    },    ‘args‘: {            },    ‘url‘: ‘http: //httpbin.org/get‘}

 

 

2、 帶參數的get:
# -*- coding:utf-8 -*-#帶參數的getimport requestsimport jsonhost = "http://httpbin.org/"endpoint = "get"url = ‘‘.join([host,endpoint])params = {"show_env":"1"}r = requests.get(url=url,params=params)print r.url

 輸出: 

http://httpbin.org/get?show_env=1{    ‘origin‘: ‘183.14.133.88‘,    ‘headers‘: {        ‘X-Request-Id‘: ‘ebe922b4-c463-4fe9-9faf-49748d682fd7‘,        ‘Accept-Encoding‘: ‘gzip,        deflate‘,        ‘X-Forwarded-Port‘: ‘80‘,        ‘Total-Route-Time‘: ‘0‘,        ‘Connection‘: ‘close‘,        ‘Connect-Time‘: ‘0‘,        ‘Via‘: ‘1.1vegur‘,        ‘X-Forwarded-For‘: ‘183.14.133.88‘,        ‘Accept‘: ‘*/*‘,        ‘User-Agent‘: ‘python-requests/2.18.1‘,        ‘X-Request-Start‘: ‘1504755961007‘,        ‘Host‘: ‘httpbin.org‘,        ‘X-Forwarded-Proto‘: ‘http‘    },    ‘args‘: {        ‘show_env‘: ‘1‘    },    ‘url‘: ‘http: //httpbin.org/get?show_env=1‘}

 

3、帶header的get:

# -*- coding:utf-8 -*-import requestsimport jsonhost = "http://httpbin.org/"endpoint = "get"url = ‘‘.join([host,endpoint])headers = {"User-Agent":"test request headers"}r = requests.get(url)r = requests.get(url,headers=headers)#response = r.json()print (eval(r.text))[‘headers‘][‘User-Agent‘]

 輸出:

test request headers

 

4、同時帶參數和header:

# -*- coding:utf-8 -*-import requestsimport jsonhost = "http://httpbin.org/"endpoint = "get"url = ‘‘.join([host,endpoint])headers = {"User-Agent":"test request headers"}params = {"show_env":"1"}r = requests.get(url)r = requests.get(url,headers=headers,params=params)#response = r.json()print (eval(r.text))[‘headers‘][‘User-Agent‘]print r.url

輸出:

test request headershttp://httpbin.org/get?show_env=1

python 介面自動化測試二(request.get)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.