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中if __name__ == '__main__'作用解析
Jun 29 Python
Python实现高效求解素数代码实例
Jun 30 Python
Python 中开发pattern的string模板(template) 实例详解
Apr 01 Python
Python实现查找匹配项作处理后再替换回去的方法
Jun 10 Python
Python实现pdf文档转txt的方法示例
Jan 19 Python
分析Python中解析构建数据知识
Jan 20 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
python中自带的三个装饰器的实现
Nov 08 Python
Python用SSH连接到网络设备
Feb 18 Python
Python函数式编程中itertools模块详解
Sep 15 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中的extract的作用分析
2008/04/09 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
django接入新浪微博OAuth的方法
2015/06/29 Python
Python实现针对中文排序的方法
2017/05/09 Python
python语言中with as的用法使用详解
2018/02/23 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
python十进制转二进制的详解
2020/02/07 Python
详解python 内存优化
2020/08/17 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
铁路安全事故反思
2014/04/26 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
拉贝日记观后感
2015/06/05 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python