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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
Python字符串格式化
Jun 15 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
python数字图像处理实现直方图与均衡化
May 04 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
完美解决在oj中Python的循环输入问题
Jun 25 Python
Python创建数字列表的示例
Nov 28 Python
基于python判断目录或者文件代码实例
Nov 29 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
tensorflow自定义激活函数实例
Feb 04 Python
用python获取txt文件中关键字的数量
Dec 24 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
PHP入门速成教程
2007/03/19 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
javascript代码优化的8点总结
2018/01/29 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python中的ceil()方法使用教程
2015/05/14 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
pycharm远程调试openstack代码
2017/11/21 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
承办会议欢迎词
2014/01/17 职场文书
运动会方阵解说词
2014/02/12 职场文书
司仪主持词两篇
2014/03/22 职场文书
法人授权委托书格式
2014/04/08 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python