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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python中模块string.py详解
Mar 12 Python
python一键去抖音视频水印工具
Sep 14 Python
python numpy数组的索引和切片的操作方法
Oct 20 Python
python plotly绘制直方图实例详解
Jul 22 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
TensorFlow 显存使用机制详解
Feb 03 Python
python查看矩阵的行列号以及维数方式
May 22 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
解析python中的jsonpath 提取器
Jan 18 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实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
PHP7多线程搭建教程
2017/04/21 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
读jQuery之八 包装事件对象
2011/06/21 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
解决python3输入的坑——input()
2020/12/05 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
工程催款通知书
2015/04/17 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
导游词之南京中山陵
2019/11/27 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
JS函数式编程实现XDM一
2022/06/16 Javascript