python使用requests.session模拟登录


Posted in Python onAugust 09, 2019

最近开发一套接口,写个Python脚本,使用requests.session模拟一下登录.

因为每次需要获取用户信息,登录需要带着session信息,所以所有请求需要带着session。

请求使用post方式,请求参数类型为raw方式,参数为json类型。

登录接口参数和结果如下:

 python使用requests.session模拟登录

脚本如下:

1. 引入需要的第三方包

#! /usr/bin/env python3
# -*- coding: utf-8 -*-

import requests
# import re
import json
# from bs4 import BeautifulSoup

2. 请求头设置,设置请求参数, 需要Python字典转为json字符串

url = 'http://beanhome.com/user/login'
header = {
    "Content-Type": 'application/json',
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36"
  }
# Python字典数据转为json,需要使用json.dumps
data = {
    "email": "common@moviebook.com",
    "passwd": "123456"
  }
# 通过session模拟登录,每次请求带着session
sess = requests.Session()
f = sess.post(url, data=json.dumps(data), headers=header)

3. 打印登录成功后结果

print(json.loads(f.text))
# soup = BeautifulSoup(f.content, "html.parser")
# {'status': 1, 'msg': '操作成功', 'time': 1565317698, 'element': {'id': 1, 'uid': 1, 'name': 'common', 'email': 'common@moviebook.com', 'company': '客户公司', 'type': 1, 'title': '普通用户'}}

4. 打印菜单结果

url = 'http://beanhome.com/user/getMenu'
# 获取菜单
f = sess.post(url,headers=header)
print(json.loads(f.text))

5. 打印配置选项结果

# 获取配置选项
url= 'http://beanhome.com/user/getOptionList'

result = sess.post(url, headers=header)
# print(json.loads(result.text))
for j,k in json.loads(result.text)['element'].items():
  print(j,k)

总结

以上所述是小编给大家介绍的python使用requests.session模拟登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
Python中用于返回绝对值的abs()方法
May 14 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
Python3实现的字典遍历操作详解
Apr 18 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
Python3 读、写Excel文件的操作方法
Oct 20 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python numpy 常用随机数的产生方法的实现
Aug 21 Python
Python实现寻找回文数字过程解析
Jun 09 Python
如何在Cloud Studio上执行Python代码?
Aug 09 #Python
python切片(获取一个子列表(数组))详解
Aug 09 #Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 #Python
一行python实现树形结构的方法
Aug 09 #Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 #Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 #Python
Python Django 命名空间模式的实现
Aug 09 #Python
You might like
zend framework多模块多布局配置
2011/02/26 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
Python代码的打包与发布详解
2014/07/30 Python
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
Python中DJANGO简单测试实例
2015/05/11 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
电脑教师的教学自我评价
2013/11/26 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
升学宴学生答谢词
2015/01/05 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
python如何做代码性能分析
2021/04/26 Python
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers