python接口自动化(post请求)

一、post请求的作用:新增资源

二、data格式的参数请求(data是字典对象)

#1.导包
import requests
#2.调用post方法
#请求的URL
url='https://www.******/pc/member/sign'
#请求头
headers={'content-type':'application/x-www-form-urlencoded'}
#请求的参数
data={'flag': 'mobile',
'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0',
'mobile_phone':' 136*******'} r=requests.post(url,data=data,headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)

三、json格式的参数请求(json是json字符串)

1.导包
import requests
#2.调用post方法
#请求的URL
url='https://www.*********.top/pc/member/sign'
#请求头
headers={'content-type':'application/x-www-form-urlencoded'}
#请求的参数
json={
"data":[{'flag': 'mobile',
'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0',
'mobile_phone':' ********'}]
} r=requests.post(url,json=json,headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)

四、讲data格式的请求参数转换成json格式的参数

  1. 导入json包
  2. 利用json.dumps(data对象)将data格式转换成json格式
#实例-将data格式的参数转换成json格式
#1.导包
import requests
import json
#2.调用post方法
#请求的URL
url='https://www.********.top/pc/member/sign'
#请求头
headers={'content-type':'application/x-www-form-urlencoded'}
#请求的参数
data={'flag': 'mobile',
'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0',
'mobile_phone':' *******'}
#利用json.dumps(字典对象)来将data格式转换成json格式
r=requests.post(url,data=json.dumps(data),headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)

五、响应数据json()格式和text格式的区别

  1. json()格式返回字典类型,可以通过键名的方式来获取响应的值
  2. text格式返回的是字符串类型,无法通过键名的方式来获取响应的值
  3. json()格式通过键名获取响应值的方式是:json()[‘’键名']
# 通过键名的方式来获取响应中的值
#1.导包
import requests
import json
#2.调用post方法
#请求的URL
url='https://www.*********.top/pc/member/sign'
#请求头
headers={'content-type':'application/x-www-form-urlencoded'}
#请求的参数
data={'flag': 'mobile',
'password': 'e9f5c5240c0bb39488e6dbfbdb1517e0',
'mobile_phone':' 1********'}
#利用json.dumps(字典对象)来将data格式转换成json格式
r=requests.post(url,data=json.dumps(data),headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)
#6.通过响应结果中json格式的键名来获取结果
print(r.json()['message'])

python接口自动化(post请求)的更多相关文章

  1. python接口自动化9-https请求(SSL)

    前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [S ...

  2. python接口自动化-post请求4

    云盘登录实操案例: 代码参考: # coding:utf-8 import requests ''' https的请求相对于http安全级别高,需要验证SSL证书 import urllib3 使用这 ...

  3. python接口自动化-post请求3

    一.SSL 证书 https 的请求相对于http安全级别高,需要验证SSL证书import urllib3 使用这个方法就可以了urllib3.disable_warnings() 可忽略警告 二. ...

  4. python接口自动化-post请求1

    一.查看官方文档 1. 学习一个新的模块,直接用 help 函数就能查看相关注释或案例内容,例如 具体信息如下,可查看 python 发送 ge t和 post 请求的案例: F:\test-req- ...

  5. python接口自动化9-https请求(SSL)【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...

  6. python接口自动化根据请求接口类型进行封装

    根据不同的请求类型(GET/POST)进行接口请求封装 import requests import json class RunMain: def __init__(self, url, metho ...

  7. python接口自动化-post请求2

    一.headers 1.以禅道登录为例,模拟登陆,这里需添加请求头headers,可以用fiddler抓包 2.将请求头写成字典格式 h = { "Connection": &qu ...

  8. python接口自动化-get请求

    一.环境安装 1.用pip安装requests模块 >>pip install requests 二.get请求 1.  url 1.1:   response 的返回内容还有很多信息,例 ...

  9. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  10. python接口自动化1-发送get请求

    前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip in ...

随机推荐

  1. 如何将英文版的Firefox添加中文版语言包

    http://ftp.mozilla.org/pub/firefox/releases/ xpi中下载zh_CN.xpi 文件 , 把文件拖拽进火狐浏览器 在地址栏输入”about:config”,回 ...

  2. java中接口的简单运用&java中的一些异常(运用myeclipse)

    package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...

  3. css篇-简化版

    [CSS篇]简化版 (1)     CSS盒模型 CSS盒模型 题目:谈谈你对CSS盒模型的认识 1)       基本概念:标准模型+IE模型 2)       标准模型和IE模型的区别 计算宽度和 ...

  4. pytest框架结构运行规则及命名方式

    Pytest框架结构 Import pytest 类似的setup,teardown同样更灵活,还有个session() 模块级 (setup_module/teardown_module) 不在类中 ...

  5. pytest-调整测试用例的执行顺序

    场景:未考虑按自然顺序执行时,或想变更执行顺序,比如增加 数据的用例要先执行,再执行删除的用例.测试用例默认是按名 称顺序执行的. • 解决: • 安装:pip install pytest-orde ...

  6. 【目录】mysql 进阶篇系列

    随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...

  7. rabbitmq AmqpClient 使用Topic 交换机投递与接收消息,C++代码示例

    // strUri = "amqp://guest:guest@192.168.30.11:8820/test" // strUri = "amqp://[帐户名]:[密 ...

  8. ES模块的基本用法常见使用问题

    本文作者:高峰,360奇舞团前端工程师,W3C WoT工作组成员. ES6中引入了模块(Modules)的概念,相信大家都已经挺熟悉的了,在日常的工作中应该也都有使用. 本文会简单介绍一下ES模块的优 ...

  9. php-验证码类-PDO类-缩略图类

    Verify.class.php 验证码类 <?php class Verify{ const VERIFY_TYPE_NUM=1; const VERIFY_TYPE_EN=2; const ...

  10. 关于if else 和 三目运算符的效率问题-java

    1.从类型转换上看,因为三目运算符在做判断的时候需要考虑到类型转换的问题,而if else 不需要考虑类型转换. 所以 if else 效率高一点. 2.从总体上看 A:需要考虑到循环自身所占用的时间 ...