Python接口测试-保持登录状态
#coding:utf-8
import requests
import json
#登录
url ="https://passport.cnblogs.com/user/signin"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"
}
s = requests.session()
r = requests.post(url,headers=headers,verify=False)
print s.cookies
#添加登录需要的2个cookie
c = requests.cookies.RequestsCookieJar()
c.set('.CNBlogsCookie', 'A971DD2942128EAA0F5E00858EA4B81D4FB9735D7D2B74F55049E4395468FE4371E3957620BD32243AAE9B38DCE87678AAE176B84018C2C74AAD7EBACA7EB9BF41BF2AB52D70C54D582943C0FFC4D8414C8AD0E3781E6A3B60DF9C5A95277DBF4F4A889361B3C0B23C8FFDCF99EA99011B1D683B') # 填上面抓包内容
c.set('.Cnblogs.AspNetCore.Cookies','CfDJ8EklyHYHyB5Oj4onWtxTnxbudG12uvbp5O0hsgMHfS7uDHdBI-oudC59HIAyQpBr7p43PLYZ2b9bDwe03tGZiI1zw14hq52dSf5XjPFAM4a7wxOTQT5plQPEWlx0bmBJMiLksEGPGtZoJobUv96-0jjDyoz1p8tCKHY97UT8M0rU004I3LgPhek1jVTCs_DEtSPA6vVAyvX7wDARXE7vqjplD-sdw_pv9Sw022K7I7tmyYdrBvRSjgHBkd3WzcA7Scs2k5P2_l8QRLgE-8y-_SbvsOrW42OTYWlctrK6m_jttlZ6m0tTx6WEQNKJjmlxc0XQn8nv_H9y3ouxAuX5MZP_8KlH_ioDcJENZgLitimmGc07V560CyMLJtw4ss_e3w2i6Q6paZPMqK5gd8AIQ2IvD7gmSohRF2Zgf7Xv0zytG8RAnVPcwrX45i4UBm-QdBKCM312e36_GUTHKcnyLT-K61vA9dz0ZPK1kFVqW_vEi-dK-2MeeiCIJkMK2SEcUT18vigP-lh3jqOhIMfT-zPVRiSdXnNKNKyAy0yfuXWWjH6YanPY1n9OpY8WLy2XjighOvl5qcUa0q9LXtScb2M') # 填上面抓包内容
c.set('AlwaysCreateItemsAsActive',"True")
c.set('AdminCookieAlwaysExpandAdvanced',"True")
s.cookies.update(c)
print s.cookies
# #登录成功后发送评论
# url3 = "https://ing.cnblogs.com/ajax/ing/Publish"
# body3 = {"content":"发送测试",
# "publicFlag":1}
# r3 = s.post(url3,data=body3, verify=False)
# print r3.content.decode("utf-8")
# r3 = json.loads(r3.content.decode("utf-8"))
# try:
# print( r3["isSuccess"])
# if r3["isSuccess"] == True:
# print ("发送成功")
# except Exception as msg:
# raise RuntimeError(r3)
# #登录后查看评论
# url5 = "https://home.cnblogs.com/ajax/feed/recent?alias=2312672"
# body5 = { "feedListType":"me",
# "appId":"",
# "pageIndex":1,
# "pageSize":30,
# "groupId":""
# }
# r5 = s.post(url5,data=body5,verify=False)
#登录后删除评论
url4 = "https://home.cnblogs.com/ajax/feed/DeleteFeed"
body4 ={"feedUserId":"102c3a11-ebc1-43a8-84ee-08d8d71b5727",
"id":"60375dc263abf8af0269ca68"
}
r4 = s.post(url4,data=body4, verify=False)
print r4.content.decode("utf-8")
r4 = json.loads(r4.content.decode("utf-8"))
try:
print( r4["isSuccess"])
if r4["isSuccess"] == True:
print ("删除成功")
except Exception as msg:
raise RuntimeError(r4)
Python接口测试-保持登录状态的更多相关文章
- Python接口测试-利用登录后的session用到登录后的接口中
有些接口是在登录后才能调用的,例如“立即出借”只有在登录后才能到出借窗口,解决: 主要是添加了: s =requests.session() 完整代码: '''登录 ''' print('*'*100 ...
- python+pytest接口自动化(9)-cookie绕过登录(保持登录状态)
在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理:再者,每次请求接口 ...
- Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试 Postman 使用方法详解
Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试 问题引入:做接口测试时,有依赖关系的接口往往不好测试( ...
- 使用robotframework做接口测试三——保持登录状态
调用登录接口登录了,其他的接口怎么保持登录状态呢? 首先来看一看,web端或者说客户端是怎么样用cookie/token等保持登录状态的.一般来说,cookie都会在登录接口由服务端返回,而且会是在 ...
- Python接口测试实战1(上)- 接口测试理论
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战2 - 使用Python发送请求
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战1(下)- 接口测试工具的使用
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 你的第一个接口测试:Python 接口测试
前言: 首先我们先明确一个概念,什么叫接口.什么叫接口测试? 接口的全称叫[Application Programming Interface 又叫API],是提供应用程序与开发人员基于某软件或硬件得 ...
- 零基础Python接口测试教程
目录 一.Python基础 Python简介.环境搭建及包管理 Python基本语法 基本数据类型(6种) 条件/循环 文件读写(文本文件) 函数/类 模块/包 常见算法 二.接口测试快速实践 简单接 ...
随机推荐
- 1.PowerShell DSC概述
什么是PowerShell DSC DSC 是一个声明性平台,用于配置.部署和管理系统. PowerShell PowerShell 是构建于 .NET 上基于任务的命令行 shell 和脚本语言. ...
- .NET 5学习笔记(10)——Entity Framework Core之切换SQLServer和SQLite
上一篇我们梳理了CodeFist的一般流程,本篇我们讨论如何在一套代码中,支持SQL Server和SQLite的切换.同时从本篇开始,我们从.NET Core 3.1 迁移到.NET 5.相信.NE ...
- CF1463-D. Pairs
CF1463-D. Pairs 题意: 有从\(1\)到\(2n\)一共\(2n\)个数字,让你将这\(2n\)个数字分成\(n\)组,每组有两个数字.对于这\(n\)组数字,你可以从中挑选\(x\) ...
- k8s二进制部署 - coredns安装
coredns的资源清单文件rabc.yaml apiVersion: v1 kind: ServiceAccount metadata: name: coredns namespace: kube- ...
- Redis 哨兵高可用(Sentinel)
哨兵机制是 Redis 高可用中重要的一环,其核心是 通过高可用哨兵集群,监控主从复制的健康状态,并实现自动灾备: 哨兵集群以集群的方式进行部署,这种分布式特性具有以下优点: 避免系统中存在单点,防止 ...
- short URL 短网址实现原理剖析
short URL 短网址实现原理剖析 意义,简短便于分享,避免出现超长 URL 的字符长度限制问题 原理分析, 使用 HashMap 存储对应的映射关系 (长度不超过7的字符串,由大小写字母加数字共 ...
- node.js & fs & file read & file write
node.js & fs & file read & file write https://nodejs.org/api/fs.html const fs = require( ...
- js currying & js 科里化
js currying & js 科里化 var test = ( function (a){ console.log(`a2 =`, a);// 1 // console.log(`b2 = ...
- Free Serverless
Free Serverless BFF https://cloud.google.com/functions/ 微服务 Function as a Servcie,FaaS https://segme ...
- react hooks & component will unmount & useEffect & clear up
react hooks & component will unmount & useEffect & clear up useEffect & return === u ...