首页 技术 正文
技术 2022年11月21日
0 收藏 733 点赞 3,164 浏览 2007 个字

简介

  上一篇cookie绕过验证码模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等等,这时候如何保持会话呢?这里我以jenkins平台为例,给小伙伴们在沙场演练一下。

session简介

1、通过help方法查看帮助文档,截图一部分,后面省略了,有兴趣的自己可以敲一下看看

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

2、参考代码

 # coding:utf-
import requests
help(requests.session())

使用session登录

1、使用session登录只需在登录的基础上稍做修改,即可

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

2、参考代码

# coding:utf-
import requests
# 先打开登录首页,获取部分session
url = "http://localhost:8080/jenkins/j_acegi_security_check"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
} # get方法其它加个ser-Agent就可以了
d = {"j_username": "admin",
"j_password": "",
"from": "",
"Submit": u"登录",
"remember_me": "on"
}
s = requests.session()
r = s.post(url, headers=headers, data=d)
#print (r.content.decode('utf-8'))

保存编辑

1、先打开新建任务,手动输入任务名称和选择下边选项后,打开fiddler抓包,然后点击“确定”

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

fiddler抓包

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

2、把body的参数内容写成字典格式

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

参考代码:

 body = {"name":"北京-宏哥1",
"mode": "hudson.model.FreeStyleProject",
"Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906",
"json":{"name":"北京-宏哥1",
"mode": "hudson.model.FreeStyleProject",
"Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906" }
}

3、用上面登录保存的session继续发送post请求,来新建任务

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

4、执行后,查看所有任务就多了一条新增的了

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

5、运行结果部分截图:

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

6、粘贴到记事本修改后缀查看:

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

参考代码

 # coding:utf-
import requests
# 先打开登录首页,获取部分session
url = "http://localhost:8080/jenkins/j_acegi_security_check"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
} # get方法其它加个ser-Agent就可以了
d = {"j_username": "admin",
"j_password": "",
"from": "",
"Submit": u"登录",
"remember_me": "on"
} s = requests.session()
r = s.post(url, headers=headers, data=d)
#print (r.content.decode('utf-8'))
# 正则表达式提取账号和登录按钮
import re
t = re.findall(r'<b>(.+?)</b>', r.content.decode('utf-8')) # 用python3的这里r.content需要解码
print (t[])
print (t[])
#新建任务
url1 = "http://localhost:8080/jenkins/createItem"
body = {"name":"北京-宏哥1",
"mode": "hudson.model.FreeStyleProject",
"Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906",
"json":{"name":"北京-宏哥1",
"mode": "hudson.model.FreeStyleProject",
"Jenkins-Crumb":"51a97fc7fbf3792823230d9bdd7ec906" }
} r2 = s.post(url1, data=body, verify=False)
print (r2.content.decode('utf-8'))

这里我是用新建任务写的案例,小伙伴可以试下Jenkins里边其他的关联接口

小结

小伙伴都看到了吧,session关联接口就是这么简单!!!赶快动起来吧。想要学习的小伙伴可以用博客园来练习一下,遇到问题欢迎打扰和沟通!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,031
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,520
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,368
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,148
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,781
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,860