简介 
  前面登录博客园的是传 json 参数,由于其登录机制的改变没办法演示,然而在工作中有些登录不是传 json 的,如 jenkins 的登录,这里小编就以jenkins 登录为案例,传 data 参数,给各位童鞋详细演练一下。

一、登录jenkins抓包
1、浏览器上登录jenkins,输入账号和密码,点击登录

2、fiddler抓包工具抓取jenkins登录的过程


3、可以清楚地看到这个body参数并不是json格式,是key=value格式,也就是前面介绍post请求四种数据类型里面的第一种


二、请求头部
1.上面抓包已经知道body的数据类型了,那么头部里面Content-Type类型也需要填写对应的参数类型

三、实现登录
1、登录实例代码如下:

注意:此处的登录URL是fiddler抓包抓到的,而并非是浏览器的URL地址,如果你复制的是浏览器的地址,就会报错了

1 # coding:utf-8
2 import requests
3 # 先打开登录首页,获取部分session
4 url = “http://localhost:8080/jenkins/j_acegi_security_check”
5 headers = {
6 “User-Agent”: “Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0”
7 } # get方法其它加个ser-Agent就可以了
8 d = {“j_username”: “admin”,
9 “j_password”: “111111”,
10 “from”: “”,
11 “Submit”: u"登录",
12 “remember_me”: “on”
13 }
14 s = requests.session()
15 r = s.post(url, headers=headers, data=d)
16 print (r.content.decode(‘utf-8’)
)
2、运行后的结果如下:

3、为了更好地查看你可以将其拷贝到记事本,保存,然后将文件后缀名修改成.html或者.htm,用浏览器打开查看

四、判断登录是否成功
1.首先这个登录接口有重定向,看左边会话框302,那登录成功的结果看最后一个200就行

2.返回的结果并不是跟博客园一样的json格式,返回的是一个html页面

五、判断登录成功
1.判断登录成功,可以抓取页面上的关键元素,比如:账号名称admin,注销按钮

2.通过正则表达式提出这2个关键字


六、参考代码
1 # coding:utf-8
2 import requests
3 # 先打开登录首页,获取部分session
4 url = “http://localhost:8080/jenkins/j_acegi_security_check”
5 headers = {
6 “User-Agent”: “Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0”
7 } # get方法其它加个ser-Agent就可以了
8 d = {“j_username”: “admin”,
9 “j_password”: “111111”,
10 “from”: “”,
11 “Submit”: u"登录",
12 “remember_me”: “on”
13 }
14 s = requests.session()
15 r = s.post(url, headers=headers, data=d)
16 #print (r.content.decode(‘utf-8’))
17 # 正则表达式提取账号和登录按钮
18 import re
19 t = re.findall(r’(.+?)’, r.content.decode(‘utf-8’)) # 用python3的这里r.content需要解码
20 print (t[0])
21 print (t[1])

七、遇到问题可解决方法
注意这里边遇到的问题python3遇到的问题,或许python2没有这些问题,笔者没有实践,有兴趣的自己可以试一下
1、如果打印content,没有加后边的.decode(‘utf-8’),会出现乱码,解决方法加上即可。

2、如果正则提取没有加.decode(‘utf-8’),会报如下错误,解决方案也是加上即可

python接口自动化(十一)--发送post【data】(详解)相关推荐

  1. python接口自动化--接口测试工具介绍(详解)

    目录 简介 接口测试工具 1.Fiddler 2.PostMan 4.Java代码做接口测试 5.Python代码做接口测试 6.LoadRunner 7.JMeter 总结 简介 "工欲善 ...

  2. websocket接口自动化集成pytest测试框架详解

    目录 websocket协议 1.介绍 2.原理 3.与http协议的比较 4.websocket应用场景 自动化测试资源分享 websocket协议 1.介绍 WebSocket是一种在单个TCP通 ...

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

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

  4. Python接口自动化之Token详解及应用

    ------·今天距2021年258天·------ 这是ITester软件测试小栈第113次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化之cookie.session应用 ...

  5. Python接口自动化之接口依赖

    VOL 129 28 2020-05 今天距2021年216天 这是ITester软件测试小栈第129次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  6. Python接口自动化之cookie、session应用

    ------·今天距2021年260天·------ 这是ITester软件测试小栈第112次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之post请 ...

  7. Python接口自动化-requests模块之post请求

    ------·今天距2021年262天·------ 这是ITester软件测试小栈第111次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之get请求 ...

  8. Python接口自动化脚本业务框架总概(一)

    目录 接口自动化框架目录 基础类封装概览 基础类封装方法详解 Log.py文件 Request.py文件 Python是目前主流的接口自动化脚本语言之一. 本专栏将联系业务介绍使用python接口自动 ...

  9. Python接口自动化之动态数据处理

    VOL 135 15 2020-06 今天距2021年199天 这是ITester软件测试小栈第135次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  10. Python接口自动化之logging封装及实战

    VOL 124 15 2020-05 今天距2021年230天 这是ITester软件测试小栈第124次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

最新文章

  1. 日志切割清理工具 Log-Cutter
  2. JUC多线程核心知识-思维导图
  3. 计算机考研深圳大学和广东工业大学,报考人数过万!这些院校已成为考研“重灾区”...
  4. 解决python2.7 UnicodeDecodeError和UnicodeEncodeError问题
  5. 工业串口服务器如何使用
  6. 怎样使用计算机上的高级共享设置,win7打印机共享怎么设置
  7. H248协议附加业务--遇忙前转流程
  8. (转)一个百倍股的坠落:那个曾经满大街的ESPRIT是如何衰败的
  9. 非标准的CAN波特率计算
  10. 计算机毕业设计springboot门诊管理系统
  11. php mysql 简单聊天室_PHP实现最简单的聊天室应用
  12. Jemalloc源码解析_源码剖析
  13. 河源戴尔服务器型号,【河源DELL(戴尔)磁盘阵列】河源DELL(戴尔)磁盘阵列报价及图片大全-列表版-ZOL中关村在线...
  14. 吴翰清(道哥):我对计算的理解
  15. html 二维表_Qrcode 二维码 API 接入方法,任何内容都可以生成二维码
  16. MySQL全网最细总结
  17. [转]Java咖啡馆---叹咖啡
  18. 蚂蚁资深技术专家刘晓莹十年支付宝回忆录
  19. 零基础入门数据挖掘:Task4 建模与调参
  20. Alpine基础用法

热门文章

  1. 关于自定义脚本rc.local里开机不启动的问题--以tomcat和perl相关的脚本为例
  2. 怎样在Delphi中屏蔽Flash控件的右键弹出菜单
  3. IT中一些常见英汉互译
  4. layui+strust2多文件上传
  5. 「luogu2414」[NOI2011]阿狸的打字机
  6. 2016-2017-2 20155117实验二《Java面向对象程序设计》实验报告
  7. Redis Lock
  8. 【语言处理与Python】4.7算法设计
  9. 【研报分享】华为鸿蒙深度研究.pdf(附下载链接)
  10. 推荐时代的内容理解技术探索.pdf(附下载链接)