requests接口自动化5-表单参数形式的post请求:data
post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种)
application/x-www-form-urlencoded(表单形式)
application/json(body为json格式)
text/xml(body为xml格式)
multipart/form-data(上传文件)
表单参数形式的post请求:用data传参
fiddler请求响应内容;

代码:
import requests
import json
#form表单形式的post请求,用data传参,Content-Type: application/x-www-form-urlencoded
payload={"username":"admin","password":"admin","validateCode":"","rememberMe":"false"}
response3=requests.post("http://www.luckyframe.cn/login",data=payload)
print("响应content:",response3.content)
print("响应text:",response3.text)
#反序列化,字符串转换为对象,这里是字典
loginresponse=json.loads(response3.text)
print(loginresponse)
#根据字典方法取key值
print(loginresponse['msg'])
print(loginresponse['code'])
#requests内置json方法,把json字符串转换为json对象
print(response3.json())
loginresponse1=response3.json()
#根据字典方法取key值
print(loginresponse1['msg'])
print(loginresponse1['code'])
print('响应码:',response3.status_code)
print('响应头:',response3.headers)
print('cookie:',response3.cookies)
print('响应编码:',response3.encoding)
print('请求url:',response3.url)
print('重定向的来源url:',response3.history)
print(response3.reason)
print(response3.iter_content())
运行结果:
D:\Python37\python.exe E:/PycharmProjects/home_UI/apistudy/requestsstudy.py
响应content: b'{"msg":"\xe6\x93\x8d\xe4\xbd\x9c\xe6\x88\x90\xe5\x8a\x9f","code":0}'
响应text: {"msg":"操作成功","code":0}
{'msg': '操作成功', 'code': 0}
操作成功
0
{'msg': '操作成功', 'code': 0}
操作成功
0
响应码: 200
响应头: {'Set-Cookie': 'JSESSIONID=eb526590-bf5d-42b8-8c44-db4335575fd4; Path=/; HttpOnly, rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Fri, 12-Jun-2020 14:25:56 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Date': 'Sat, 13 Jun 2020 14:25:56 GMT'}
cookie: <RequestsCookieJar[<Cookie JSESSIONID=eb526590-bf5d-42b8-8c44-db4335575fd4 for www.luckyframe.cn/>]>
响应编码: UTF-8
请求url: http://www.luckyframe.cn/login
重定向的来源url: [] <generator object iter_slices at 0x000001E0FE0C3548>
requests接口自动化5-表单参数形式的post请求:data的更多相关文章
- requests接口自动化4-登录后才能访问的get请求,需共享cookie
登录后才能访问的get请求,需共享cookie fiddler里请求响应结果: 代码: import requests import json #form表单形式的post请求,用data传参,Con ...
- 什么是请求参数、表单参数、url参数、header参数、Cookie参数?一文讲懂
最近在工作中对 http 的请求参数解析有了进一步的认识,写个小短文记录一下. 回顾下自己的情况,大概就是:有点点网络及编程基础,只需要加深一点点对 HTTP 协议的理解就能弄明白了. 先分享一个小故 ...
- struts2(二) 表单参数自动封装和参数类型自动转换
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使 ...
- struts2(三)之表单参数自动封装与参数类型自动转换
前言 对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化, struts2的 ...
- Struts2学习(二)———— 表单参数自动封装和参数类型自动转换
前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使 ...
- python -使用Requests库完成Post表单操作
""" 使用Requests库完成Post表单操作 """ #_*_codingn:utf8 _*_ import requests fro ...
- Golang里实现Http服务器并解析header参数和表单参数
在http服务里,header参数和表单参数是经常使用到的,本文主要是练习在Go语言里,如何解析Http请求的header里的参数和表单参数,具体代码如下: package server import ...
- 统一修改表单参数(表单提交的空字符串统一转null)
统一修改表单参数(表单提交的空字符串统一转null) 1.介绍: 我们业务中有时会遇到提交的表单中某个参数为空字符串,导致后台接受的为空字符串("")而不是我们理想中的null,会 ...
- JavaWeb - 模仿SpringMVC抽取 BaseServlet + 封装表单参数
模仿SpringMVC抽取一个BaseServlet,接收所有请求,然后自动封装表单参数和分发到对应的servlet执行,下面用一个页面表单提交,转发显示的项目做示例. 1)首先准备一个Entity, ...
随机推荐
- numpy.random.randn()与numpy.random.rand()的区别
numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中. numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值. n ...
- Java 多线程基础(五)线程同步
Java 多线程基础(五)线程同步 当我们使用多个线程访问同一资源的时候,且多个线程中对资源有写的操作,就容易出现线程安全问题. 要解决上述多线程并发访问一个资源的安全性问题,Java中提供了同步机制 ...
- @atcoder - AGC026F@ Manju Game
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个含 N 个数的序列,Alice 与 Bob 在博弈.Al ...
- Java 异常处理的十个建议
前言 Java异常处理的十个建议,希望对大家有帮助~ 本文已上传github: https://github.com/whx123/JavaHome 公众号:捡田螺的小男孩 一.尽量不要使用e.pri ...
- Java8新特性之函数式接口
<Java 8 实战>学习笔记系列 定义 函数式接口只定义一个抽象方法,可以有多个默认方法 函数式接口的接口名上,会被@FunctionalInterface标注 作用 函数式接口的方法可 ...
- 数据库整理(三) SQL基础
数据库整理(三) SQL基础 SQL语言的特点 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体. 可以独立完成数据库生命周期中的全部活动: ●定义和修改.删除关 ...
- IDEA自定义类注释和方法注释(自定义groovyScript方法实现多行参数注释)
一.类注释 1.打开设置面板:file -> setting -> Editor -> file and code Templates 选择其中的inclues选项卡,并选择File ...
- disruptor架构三 使用场景更加复杂的场景
先c1和c2并行消费生产者产生的数据,然后c3再消费该数据 我们来使用代码实现:我们可以使用Disruptor实例来实现,也可以不用产生Disruptor实例,直接调用RingBuffer的api来实 ...
- Flink1.10全文跟读翻译
前言 突然的一个想法,我想把flink官网英语版全部看一遍翻译出来,并且带上自己的理解.自己不是什么大神,只是想这样做一遍,有人说不是有中文版,因为我自己想练习一下英语和对flink的理解吧!工作是一 ...
- Celery浅谈
一.Celery 核心模块 1. Brokers brokers 中文意思为中间人,在这里就是指任务队列本身,接收生产者发来的消息即Task,将任务存入队列.任务的消费者是Worker,Brokers ...