python接口自動化測試(二)-requests.get()

環境搭建好后,接下來我們先來了解一下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 requests
import 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 requests
import 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 requests
import 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 requests
import 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 headers
http://httpbin.org/get?show_env=1

?

轉載于:https://www.cnblogs.com/puresoul/p/7488488.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253458.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253458.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253458.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從一個Android碼農視角回顧2018GDD大會

兩天的GDD大會結束了,很開心,可以看得出,這次Google真的很用心。不但分享的內容質量很高。而且又有得吃又有得玩,還有許多好看的小姐姐,真不妄我請了兩天年假來參加這個大會。先來幾張圖鎮樓 哈哈,跑題了。…

Python3.x和Python2.x的區別[轉]

Python3.x和Python2.x的區別 1.性能 Py3.0運行 pystone benchmark的速度比Py2.5慢30%。Guido認為Py3.0有極大的優化空間,在字符串和整形操作上可 以取得很好的優化結果。 Py3.1性能比Py2.5慢15%,還有很大的提升空間。 2.編碼 Py3.X源碼文件默認使用utf-8…

數字圖像處理——圖像銳化

圖像增強是圖像處理的一個重要環節,早期的圖像處理就是從圖像增強開始的,人們研究對質量低的圖像進行處理以獲得改善質量后的圖像。現今的圖像增強還為后續的圖像處理,如圖像信息提取、圖像識別等,提供更高識別度的圖像。 從圖像處理技術來看,圖像的攝取、編碼、傳輸和處理…

DAVINCI DM365-DM368開發攻略——U-BOOT-2010.12及UBL的移植

從盛夏走到深秋,我們繼續DAVINCI DM365-DM368的開發。說來慚愧,人家51CTO熱情支持本博客,而本人卻一直沒有像其他博客之星一樣頻繁更新博客,心里確實說不過去。管理公司確實很累,有更急的客戶的項目要做,我…

陳天藝1636050045假設跑步者1小時40分鐘35秒跑了24英里。編寫一個程序顯示每小時以公里為單位的平均速度值...

public class AverageSpeed{ public static void main(String[]args){ double speedkm 60/(45.5/14); double speedm speedkm /1.6; system.out.println(“averagespeed ”speedm "m/h") } }轉載于:https://www.cnblogs.com/Archon-Cty/p/7…

EMVA 1288 測試標準

一、概述 如果要對比兩臺相機的性能,我們應該關注哪些參數呢,是焦距、像素、還是光圈大小?這些參數通常廣為人知,并且很容易做出對比。但在一些專業領域,例如機器視覺、自動駕駛等行業,計算機算法對圖像有著獨特的要求,這些標準有些已經跟不上數字成像的發展步伐,而且其…

Spring Boot - 修改Tomcat默認的8080端口

前言 默認情況下,Spring Boot內置的Tomcat服務會使用8080端口啟動,我們可以使用以下任何技巧去更改默認的Tomcat端口; 注:我們可以通過server.port0配置,去自動配置一個未被占用的http端口,由操作系統實現。…

2017年度目標

語言:python,lisp,js,html5技術:android,hadoop數學:復變函數,代數,概率,數論英語:reading其他:金融/經濟/股票,歷史/史記…

嵌入式系統系統升級內核雙備份的實現方式

1.nand flash MTD分區 kernels/linux-2.6.31.1-cavm1/drivers/mtd/maps/xxxxx-flash.c /* MTD partitions: From CNW5602 32MB * mtd0: 0x000C0000 00020000 "bootloader" * mtd1: 0x00040000 00020000 "factory_config" * mt…

SerDes接口——架構與電路

隨著通信技術的飛速發展,高速串行互連以其結構簡單,不需要傳輸同步時鐘,相比并行傳輸有更高數據傳輸效率的優點,成為現代通信和數據傳輸的重要組成部分。隨著對數據傳輸速率要求的不斷提高,SERDES應運而生。它是一種時…

Springboot分模塊開發詳解(2):建立子工程

1.創建base-entity 選中base工程&#xff0c;右鍵創建一個新的maven工程 自動選擇了base這個目錄存放子工程 創建后&#xff0c;pom.xml修改成如下內容&#xff1a; <?xml version"1.0"?> <projectxsi:schemaLocation"http://maven.apache.org/POM/4…

到天宮做客(2017寒假培訓測試壓軸題)

個人QQ&#xff1a;757394026團隊QQ&#xff1a;466373640個人博客&#xff1a;www.doubleq.winc/noi/信息學奧數博客&#xff1a;http://www.cnblogs.com/zwfymqz 題目描述 有一天&#xff0c;我做了個夢&#xff0c;夢見我很榮幸的接到了豬八戒的邀請&#xff0c;到天宮陪他吃…

NAND FLASH分區規劃

由于BOOTLOADRER、PARAMS以及內核、文件系統都在NAND FLASH上&#xff0c;因此分區就得進行統一規劃。系統的NAND FLASH分區依賴于u-boot和Linux內核兩方面的設置。U-Boot中的NAND分區 文件&#xff1a;include/configs/開發板.h這是Phy3250的參數&#xff0c;Phy3250采用32MB的…

圖像去霧算法學習

現有的圖像采集設備對外界環境的干擾非常敏感,在霧霾環境中,獲取的戶外圖像往往退化嚴重,主要表現為場景特征信息模糊、對比度低、色彩失真,不利于計算機視覺系統對圖像真實特征的提取,從而影響其后續的分析、理解、識別等一系列處理,很大程度上降低了視覺系統的實際應用…

訓練與解碼

BW算法是對某一個HMM(一個音素)進行訓練&#xff0c;需要該HMM對應的觀察向量(一段音頻)&#xff0c;如何讓一段文本中的某個音素找到對應一整段音頻中的一小段音頻&#xff1f;需要用到對齊來找到所有的[音素-音頻]的配對。 訓練時也需要解碼 1&#xff0c;設訓練的一句話有n…

Atlassian發布事故管理解決方案Jira Ops

Atlassian聯合首席執行官兼聯合創始人Scott Farquhar于9月4日宣布&#xff0c;Atlassian推出了一款名為Jira Ops的新產品&#xff0c;并且他們將收購OpsGenie。\\正如“Jira Ops \u0026amp; OpsGenie: powerful incident management”所描述的那樣&#xff0c;Jira Ops是一款新…

U-Boot如何向內核傳遞Flash的分區信息

1.如何對nand 分區。修改mtdparts環境變量就可以了么&#xff1f; 對于目前的U-boot而言,是的.而且, 設置了mtdparts變量之后,你可以在nand read/write/erase命令中直接使用分區的名字而不必指定分區的偏移位置. set bootargs noinitrd consolettySAC0 root/dev/mtdblock3 ro…

Python爬蟲學習系列教程

大家好哈&#xff0c;我呢最近在學習Python爬蟲&#xff0c;感覺非常有意思&#xff0c;真的讓生活可以方便很多。學習過程中我把一些學習的筆記總結下來&#xff0c;還記錄了一些自己實際寫的一些小爬蟲&#xff0c;在這里跟大家一同分享&#xff0c;希望對Python爬蟲感興趣的…

ICer 常用網站推薦

總結一下我經常用到的IC網站&#xff0c;主要是數字IC&#xff0c;大致分資源類和資訊類吧&#xff1a; 一、資訊類 CSDN&#xff1a;目前關于IC的文章也越來越多啊。。https://www.csdn.net/ 知乎&#xff1a;目前來說應該是活躍大佬比較多。。https://www.zhihu.com/ DVCO…

C++成員訪問限定符 private public

private和public稱為成員訪問限定符。用它們來聲明個成員的被訪問權限。 ? ?private?稱為私有的&#xff0c;只能在本類中的成員函數引用&#xff0c;類外不能調用。 ? ?public ?稱為共有的&#xff0c;既可以被本類中的成員函數所引用&#xff0c;也可以被本類中的成員…