上一节介绍了  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()相关推荐

  1. python接口自动化测试三:代码发送HTTP请求

    get请求: 1.get请求(无参数): 2.get请求(带参数): 接口地址:http://japi.juhe.cn/qqevaluate/qq 返回格式:json 请求方式:get post 请求 ...

  2. python接口自动化测试(二)-requests.get()

    环境搭建好后,接下来我们先来了解一下requests的一些简单使用,主要包括: requests常用请求方法使用,包括:get,post requests库中的Session.Cookie的使用 其它 ...

  3. python自动化测试视频百度云-python接口自动化测试视频教程全集

    python接口自动化测试视频教程全集 下载地址:https://k.weidian.com/Pfm=DyuI 课程内容: 第一章:接口测试基础 1-1 接口自动化课程简介 1-2 接口测试课程大纲 ...

  4. python接口自动化测试框架实战从设计到开发_Python接口自动化测试框架实战 从设计到开发...

    第1章 课程介绍(不要错过) 本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用 本章重点讲解如何抓app\web的h ...

  5. Python接口自动化测试实战详解,你想要的全都有

    目录 前言 一.接口自动化测试概述 二.搭建Python接口自动化测试框架 三.常用接口自动化测试库示例 四.总结 前言 接口自动化测试是当前软件开发中最重要的环节之一,可以提高代码质量.加速开发周期 ...

  6. python 接口自动化测试框架有哪些_Python接口自动化测试框架

    Python接口自动化测试框架 在自动化的测试体系中,包含了UI自动化测试和接口自动化测试,UI自动化实现的前提是软件版本进入稳定期,UI界面稳定.变动少,相比较之下接口自动化,接口受外界因素的影响较 ...

  7. 阿里P8:你们公司就这水平?看看这份Python接口自动化测试手册

    前阵子有幸参加了个2021英雄技术会,与会了一个阿里P8技术大佬,我兴致勃勃地把我们公司的整套测试流程展示给大佬看,并重点介绍了我司自动化测试,谁知道大佬看完后来了句:就这?就这水平?随后丢给我一份P ...

  8. python自动化测试视频百度云-Python接口自动化测试视频教程下载

    Python接口自动化测试视频教程下载 课程介绍: 此套Python接口自动化测试视频教程适合入门接口测试和学习python+requests自动化的学员学习,教程对http协议.fiddler抓包与 ...

  9. python自动化测试视频百度云-Python接口自动化测试 PDF 超清版

    给大家带来的一篇关于Python自动化相关的电子书资源,介绍了关于Python.接口自动化.测试方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小61.2 MB,王浩然编写,目前豆瓣.亚马 ...

最新文章

  1. Android进程间通信的方式
  2. esp8266make相关文件改进
  3. python算法编程_Python算法编程
  4. 360手机浏览器_360手机浏览器9.0新功能测评
  5. 算法题目——省份数量(dfs,bfs)
  6. Java编程思想—第三四五六七章
  7. UE如何去除重复行,删除重复行
  8. Python开发工程师常用开发工具
  9. 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
  10. c语言char aa 1000,char ** 与char * a[ ] 区别
  11. python源码中的学习笔记_第5章_字典
  12. Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
  13. 偏振成像的基本原理和特点
  14. 关于实时推送系统的那点事
  15. 关于tomcat启动的错误:Error running... jmxremote.access
  16. 宁波市第一医院附近的房屋调研
  17. android相机横屏竖屏,GitHub - qixuefeng/CameraAdapt: Android相机屏幕适配
  18. 五,JavaScript数组·上
  19. 常用C++编译器推荐
  20. android 标题被顶出去,解决安卓虚拟键盘把标题栏顶出屏幕外

热门文章

  1. 北斗核心器件100%国产化,已接入大部分智能手机
  2. 长达1500年之久的争论:意识是连续的还是离散的?心理物理学家给出了新的回答...
  3. 机器学习虽好,也要看什么场合!
  4. 对外星智能的搜索得到了重大的升级
  5. 混合云关键技术能力和发展趋势
  6. 中美5G竞争的未来路线图
  7. 装配式建筑连入自动驾驶技术,未来城市的房子居然是这个样子......
  8. 2018年全球AI突破性技术TOP10
  9. 人工智能的恶意用途:预测、预防和缓解
  10. 好奇了好久的「对象」,就这?