python接口自动化测试(三)-requests.post()
上一节介绍了 requests.get() 方法的基本使用,本节介绍 requests.post() 方法的使用:
本文目录:
一、方法定义
二、post方法简单使用
1、带数据的post
2、带header的post
3、带json的post
4、带参数的post
5、普通文件上传
6、定制化文件上传
7、多文件上传
一、方法定义:
1、到官方文档去了下requests.post()方法的定义,如下:
2、源码:
3、常用返回信息:
二、post方法简单使用:
1、带数据的post:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post" url = ''.join([host,endpoint]) data = {'key1':'value1','key2':'value2'} r = requests.post(url,data=data) #response = r.json() print (r.text)
输出:
{"args": {}, "data": "", "files": {}, "form": {"key1": "value1", "key2": "value2"}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "23", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1"}, "json": null, "origin": "183.14.133.88", "url": "http://httpbin.org/post" }
2、带header的post:
# -*- coding:utf-8 -*- import requests import json host = "http://httpbin.org/" endpoint = "post"url = ''.join([host,endpoint]) headers = {"User-Agent":"test request headers"}# r = requests.post(url) r = requests.post(url,headers=headers) #response = r.json()
输出:
{"args": {}, "data": "", "files": {}, "form": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "0", "Host": "httpbin.org", "User-Agent": "test request headers"}, "json": null, "origin": "183.14.133.88", "url": "http://httpbin.org/post" }
3、带json的post:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post" url = ''.join([host,endpoint]) data = {"sites": [{ "name":"test" , "url":"www.test.com" },{ "name":"google" , "url":"www.google.com" },{ "name":"weibo" , "url":"www.weibo.com" }] } r = requests.post(url,json=data) # r = requests.post(url,data=json.dumps(data)) response = r.json()
输出:
{"args": {}, "data": "{\"sites\": [{\"url\": \"www.test.com\", \"name\": \"test\"}, {\"url\": \"www.google.com\", \"name\": \"google\"}, {\"url\": \"www.weibo.com\", \"name\": \"weibo\"}]}", "files": {}, "form": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "140", "Content-Type": "application/json", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1"}, "json": {"sites": [{"name": "test", "url": "www.test.com"}, {"name": "google", "url": "www.google.com"}, {"name": "weibo", "url": "www.weibo.com"}]}, "origin": "183.14.133.88", "url": "http://httpbin.org/post" }
4、带参数的post:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post"url = ''.join([host,endpoint]) params = {'key1':'params1','key2':'params2'}# r = requests.post(url) r = requests.post(url,params=params) #response = r.json() print (r.text)
输出:
{"args": {"key1": "params1", "key2": "params2"}, "data": "", "files": {}, "form": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "0", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1"}, "json": null, "origin": "183.14.133.88", "url": "http://httpbin.org/post?key2=params2&key1=params1" }
5、普通文件上传:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post" url = ''.join([host,endpoint]) #普通上传 files = {'file':open('test.txt','rb')}r = requests.post(url,files=files) print (r.text)
输出:
{"args": {}, "data": "", "files": {"file": "hello world!\n"}, "form": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "157", "Content-Type": "multipart/form-data; boundary=392865f79bf6431f8a53c9d56c62571e", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1"}, "json": null, "origin": "183.14.133.88", "url": "http://httpbin.org/post" }
6、定制化文件上传:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post"url = ''.join([host,endpoint]) #自定义文件名,文件类型、请求头 files = {'file':('test.png',open('test.png','rb'),'image/png') }r = requests.post(url,files=files) print (r.text)heman793
输出比较在,就不帖了。
7、多文件上传:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post"url = ''.join([host,endpoint]) #多文件上传 files = [('file1',('test.txt',open('test.txt', 'rb'))),('file2', ('test.png', open('test.png', 'rb')))]r = requests.post(url,files=files) print (r.text)
输出上,太多内容,不帖了。
8、流式上传:
# -*- coding:utf-8 -*- import requests import jsonhost = "http://httpbin.org/" endpoint = "post"url = ''.join([host,endpoint])#流式上传 with open( 'test.txt' ) as f:r = requests.post(url,data = f)print (r.text)
输出:
{"args": {}, "data": "hello world!\n", "files": {}, "form": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "13", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1"}, "json": null, "origin": "183.14.133.88", "url": "http://httpbin.org/post" }
python接口自动化测试(三)-requests.post()相关推荐
- python接口自动化测试三:代码发送HTTP请求
get请求: 1.get请求(无参数): 2.get请求(带参数): 接口地址:http://japi.juhe.cn/qqevaluate/qq 返回格式:json 请求方式:get post 请求 ...
- python接口自动化测试(二)-requests.get()
环境搭建好后,接下来我们先来了解一下requests的一些简单使用,主要包括: requests常用请求方法使用,包括:get,post requests库中的Session.Cookie的使用 其它 ...
- python自动化测试视频百度云-python接口自动化测试视频教程全集
python接口自动化测试视频教程全集 下载地址:https://k.weidian.com/Pfm=DyuI 课程内容: 第一章:接口测试基础 1-1 接口自动化课程简介 1-2 接口测试课程大纲 ...
- python接口自动化测试框架实战从设计到开发_Python接口自动化测试框架实战 从设计到开发...
第1章 课程介绍(不要错过) 本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用 本章重点讲解如何抓app\web的h ...
- Python接口自动化测试实战详解,你想要的全都有
目录 前言 一.接口自动化测试概述 二.搭建Python接口自动化测试框架 三.常用接口自动化测试库示例 四.总结 前言 接口自动化测试是当前软件开发中最重要的环节之一,可以提高代码质量.加速开发周期 ...
- python 接口自动化测试框架有哪些_Python接口自动化测试框架
Python接口自动化测试框架 在自动化的测试体系中,包含了UI自动化测试和接口自动化测试,UI自动化实现的前提是软件版本进入稳定期,UI界面稳定.变动少,相比较之下接口自动化,接口受外界因素的影响较 ...
- 阿里P8:你们公司就这水平?看看这份Python接口自动化测试手册
前阵子有幸参加了个2021英雄技术会,与会了一个阿里P8技术大佬,我兴致勃勃地把我们公司的整套测试流程展示给大佬看,并重点介绍了我司自动化测试,谁知道大佬看完后来了句:就这?就这水平?随后丢给我一份P ...
- python自动化测试视频百度云-Python接口自动化测试视频教程下载
Python接口自动化测试视频教程下载 课程介绍: 此套Python接口自动化测试视频教程适合入门接口测试和学习python+requests自动化的学员学习,教程对http协议.fiddler抓包与 ...
- python自动化测试视频百度云-Python接口自动化测试 PDF 超清版
给大家带来的一篇关于Python自动化相关的电子书资源,介绍了关于Python.接口自动化.测试方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小61.2 MB,王浩然编写,目前豆瓣.亚马 ...
最新文章
- Android进程间通信的方式
- esp8266make相关文件改进
- python算法编程_Python算法编程
- 360手机浏览器_360手机浏览器9.0新功能测评
- 算法题目——省份数量(dfs,bfs)
- Java编程思想—第三四五六七章
- UE如何去除重复行,删除重复行
- Python开发工程师常用开发工具
- 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
- c语言char aa 1000,char ** 与char * a[ ] 区别
- python源码中的学习笔记_第5章_字典
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
- 偏振成像的基本原理和特点
- 关于实时推送系统的那点事
- 关于tomcat启动的错误:Error running... jmxremote.access
- 宁波市第一医院附近的房屋调研
- android相机横屏竖屏,GitHub - qixuefeng/CameraAdapt: Android相机屏幕适配
- 五,JavaScript数组·上
- 常用C++编译器推荐
- android 标题被顶出去,解决安卓虚拟键盘把标题栏顶出屏幕外