session关联接口

#coding:utf-8

import requests,json,re

‘‘‘
session关联接口,第一步访问登录接口,headers中要有cookie,不然会登录失败,登录成功后,添加随笔保存为草稿,第三步判断保存草稿成功
‘‘‘

requests.packages.urllib3.disable_warnings()

url = "https://passport.cnblogs.com/user/signin"
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36",
"Content-Type":"application/json; charset=UTF-8",
"Accept":"application/json, text/javascript, */*; q=0.01",
"Accept-Encoding":"gzip, deflate, br",
"Accept-Language":"zh-CN,zh;q=0.8",
"X-Requested-With":"XMLHttpRequest",
"Cookie":"AspxAutoDetectCookieSupport=1; SERVERID=227b087667da6f8e99a1165002db93f6|1504147566|1504146209"
}

payload = {"input1":"SZqepch8gyaT4siZXmJTawyDvPs0mYiYTarlAj6ZViwAG5K6mC2gfT2/kwqzaLSF4HrnyajRPa6gXIWUtRBTW5SC+hvUmETyNrkcUwToEHqjRoAmmq8+SFaK4v51KNVnwyk9xhiXv+VEe2gkdn+Wu7dAIoBdwEXNHmo4J89T8K0=",
           "input2":"WypnynD3C5ibcgFuQTZImpQvlL183850joTwgYvjwKa7hFpZq/P0Pi6MamY8ezN29oBa1n+9FAxCM4w4HxlS+X0CJmeAAkqvWGIfl3kussg/BeFPjl+UOhwtc8EGJVojs0f0wdevAs023Pr+4mVWSKBgPwQWfCwVo8a6EsaJ1qI=",
           "remember":False}

payload = json.dumps(payload)
#session会话保持,重点关注
s = requests.session()

r = s.post(url,data=payload,headers=headers,verify=False)

print(r.json())

#保存草稿箱
url2 = "https://i.cnblogs.com/EditPosts.aspx?opt=1"

body = {"__VIEWSTATE": "",
        "__VIEWSTATEGENERATOR":"FE27D343",
        "Editor$Edit$txbTitle":"这是我的标题:上海-悠悠",
        "Editor$Edit$EditorBody":"<p>这里是中文内容:http://www.cnblogs.com/yoyoketang/</p>",
        "Editor$Edit$Advanced$ckbPublished":"on",
        "Editor$Edit$Advanced$chkDisplayHomePage":"on",
        "Editor$Edit$Advanced$chkComments":"on",
        "Editor$Edit$Advanced$chkMainSyndication":"on",
        "Editor$Edit$lkbDraft":"存为草稿"
        }

r2 = s.post(url2,data=body,verify=False)

print(r2.content.decode(encoding=‘utf-8‘))

t = re.findall(r‘value="(.+?)" maxlength‘,r2.content.decode(encoding=‘utf-8‘))
print(t[0])
if t[0] == ‘这是我的标题:上海-悠悠‘:
    print(‘True‘)
else:
    print(‘False‘)
时间: 2024-08-23 10:30:12

session关联接口的相关文章

python接口自动化(十四)--session关联接口(详解)

简介 上一篇cookie绕过验证码模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等等,这时候如何保持会话呢? session简介 1.通过help方法查看帮助文档,截图一部分,后面省略了,有兴趣的自己可以敲一下看看 2.参考代码 1 # coding:utf-8 2 import requests 3 help(requests.session()) 使用session登录 1.使用session登录只需在登录的基础上稍做修改,即可 2.参考代码 # coding:u

python接口自动化(十六)--参数关联接口后传(详解)

简介 大家对前边的自动化新建任务之后,接着对这个新建任务操作了解之后,希望带小伙伴进一步巩固胜利的果实,夯实基础.因此再在沙场实例演练一下博客园的相关接口.我们用自动化发随笔之后,要想接着对这篇随笔操作,不用说就需 要用参数关联了,发随笔之后会有一个随笔的 id,获取到这个 id,继续操作传这个随笔 id 就可以了(博客园的登录机制已经变了,不能用账号和密码登录了,这里用 cookie 登录) 大致流程步骤:web界面操作登录抓包查看cookie—>代码模拟cookie登录—>web界面操作新

express session 和 socketio session关联

express session http是没有状态的协议, 需要web框架自己实现会话和会话管理工作. express框架有session插件可以使用. 见如下介绍: https://www.tutorialspoint.com/expressjs/expressjs_sessions.htm We will need the Express-session, so install it using the following code. npm install --save express-s

Python+Requests接口测试教程(2):requests

开讲前,告诉大家requests有他自己的官方文档:http://cn.python-requests.org/zh_CN/latest/ 2.1 发get请求 前言requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了.环境准备(小编环境):python:2.7.12pycharm:5.0.4requests:2.13.0(这学本篇之前,先要有一定的python基础,因为后面都是直接用python写代码了,小编主要以讲接口为主,pytho

Hibernate常用的接口和类---Session接口☆☆☆☆☆

一.特点 Session是在Hibernate中使用最频繁的接口.也被称之为持久化管理器.它提供了和持久化有关的操作,比如添加.修改.删除.加载和查询实体对象 Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心 Session是线程不安全的 所有持久化对象必须在 session 的管理下才可以进行持久化操作 Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久化操作的数据都缓存在 session 对象处 持久化类与 Sessi

python接口自动化(三十五)-封装与调用--流程类接口关联(详解)

简介 流程相关的接口,主要用 session 关联,如果写成函数(如上篇),s 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封装大致流程 1.在接口测试中,有些接口经常会被用到比如登录的接口,这时候我们可以每个接口都封装成一个方法,如:登录.保存草稿.发布随笔.删除随笔,这四个接口就可以写成四个方法 2.接口封装好了后,后面我们写用例那就直接调用封装好的接口就行了,有些参数,可以参数化,如保存草稿的 title 和 bod

python接口自动化5-session关联

前言 我们不难发现浏览器中存在着cookie缓存等,但我们在python中如果像浏览器这样的缓存,我们就很难的需要关联cookie或会话了. 但python的requests库,就封装了Session方法.Session类实现会话对象.就好比如是python中的浏览器. 一.Cookie 与 Session 的区别 1.Cookie,也用复数Cookies,就是为了辨别用户身份.进行 Session 跟踪而储存在用户本地终端上的数据,通常要加密,而Cookie数据存放在客户的浏览器上: 2.Co

转:通过Spring Session实现新一代的Session管理

长期以来,session管理就是企业级Java中的一部分,以致于我们潜意识就认为它是已经解决的问题,在最近的记忆中,我们没有看到这个领域有很大的革新. 但是,现代的趋势是微服务以及可水平扩展的原生云应用(cloud native application),它们会挑战过去20多年来我们设计和构建session管理器时的前提假设,并且暴露了现代化session管理器的不足. 本文将会阐述最近发布的Spring Session API如何帮助我们克服眼下session管理方式中的一些不足,在企业级Ja

使用tomcat作为web应用容器时,启用新线程找不到Session的问题

今天做一个功能,为了快速响应前端,业务完成后,另起了一个线程做一些不影响业务的统计工作,然后立即将业务操作结果返回给前台. 结果在新线程里报空指针找不到request对象.检查了下,我们用的是struts2的框架,在struts2里会把request绑定在线程局部变量里.通过上下文的ServeltActionContext就能取了.那我就手动在新线程里把request设置到struts2的上下文里吧. request找得到了,但request.getSession()是空的.很奇怪,这么短的时间