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爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python列表生成式与列表生成器的使用
Feb 23 Python
python spyder中读取txt为图片的方法
Apr 27 Python
Python3使用turtle绘制超立方体图形示例
Jun 19 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 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中var_export与var_dump的区别分析
2010/08/21 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
JavaScript jquery及AJAX小结
2016/01/24 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Python运算符重载详解及实例代码
2017/03/07 Python
python实现图片筛选程序
2018/10/24 Python
python内置模块collections知识点总结
2019/12/19 Python
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
博士研究生自我鉴定范文
2013/12/04 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
基层党组织整改方案
2014/10/25 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
培根随笔读书笔记
2015/07/01 职场文书
新课程改革心得体会
2016/01/22 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python
php png失真的原因及解决办法
2021/11/17 PHP