#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接口测试-保持登录状态的更多相关文章

  1. Python接口测试-利用登录后的session用到登录后的接口中

    有些接口是在登录后才能调用的,例如“立即出借”只有在登录后才能到出借窗口,解决: 主要是添加了: s =requests.session() 完整代码: '''登录 ''' print('*'*100 ...

  2. python+pytest接口自动化(9)-cookie绕过登录(保持登录状态)

    在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理:再者,每次请求接口 ...

  3. Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试 Postman 使用方法详解

    Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试   问题引入:做接口测试时,有依赖关系的接口往往不好测试( ...

  4. 使用robotframework做接口测试三——保持登录状态

    调用登录接口登录了,其他的接口怎么保持登录状态呢?  首先来看一看,web端或者说客户端是怎么样用cookie/token等保持登录状态的.一般来说,cookie都会在登录接口由服务端返回,而且会是在 ...

  5. Python接口测试实战1(上)- 接口测试理论

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  6. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. Python接口测试实战1(下)- 接口测试工具的使用

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. 你的第一个接口测试:Python 接口测试

    前言: 首先我们先明确一个概念,什么叫接口.什么叫接口测试? 接口的全称叫[Application Programming Interface 又叫API],是提供应用程序与开发人员基于某软件或硬件得 ...

  9. 零基础Python接口测试教程

    目录 一.Python基础 Python简介.环境搭建及包管理 Python基本语法 基本数据类型(6种) 条件/循环 文件读写(文本文件) 函数/类 模块/包 常见算法 二.接口测试快速实践 简单接 ...

随机推荐

  1. K8S(03)核心插件-Flannel网络插件

    系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 K8S核心网络插件Flannel 目录 系列文 ...

  2. DQL 数据查询语言

    查询数据(SELECT) # 查询所有数据 - 很危险,数据量过大,容易导致内存溢出而宕机 mysql> select * from student; # 先查询数据总量,然后决定是否可以查询所 ...

  3. 使用SignTool对软件安装包进行数字签名(一)--制作证书

    一.制作根证书 1.开始菜单-运行-输入cmd,弹出命令行窗体. 2.输入命令:cd /d F:\SignTool,将当前工作目录修改到SignTool路径下. 3.使用makecert命令制作证书, ...

  4. linux内核编程入门--系统调用监控文件访问

    参考的资料: hello world   https://www.cnblogs.com/bitor/p/9608725.html linux内核监控模块--系统调用的截获  https://www. ...

  5. vs2019 写入访问权限冲突

    先说句题外话 vs反应有时候有点慢,改过的地方等几秒才会显示正确 另外有时候正确的地方会报错,重启吧 回到正题 "引发了异常: 写入访问权限冲突._Left 是 0xCDCDCDCD.如有适 ...

  6. 鸟哥的linux私房菜——第四章学习

    ******************第四章学习****************** [热键] 1.Tab键:命令补全:文件补全: 2.Ctrl+c:中断目前指令: 3.Ctrl+d:离开当前文本界面: ...

  7. NoSQL 数据库案例实战 -- MongoDB数据备份、恢复

    MySQL数据迁移到MongoDB数据库中 前言 一.数据备份 二.数据恢复 前言 本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境具体构建,请参考 ...

  8. C++ Primer笔记

    C++ Primer笔记 ch2 变量和基本类型 声明 extern int i; extern int i = 3.14;//定义 左值引用(绑定零一变量初始值,别名) 不能定义引用的引用:引用必须 ...

  9. Gradle & Java

    Gradle & Java Gradle Build Tool I Modern Open Source Build Automation https://gradle.org/ https: ...

  10. Web Components All In One

    Web Components All In One Web Components https://www.webcomponents.org/ HTML Template Custom Element ...