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获得图片base64编码示例
Jan 16 Python
python实现k均值算法示例(k均值聚类算法)
Mar 16 Python
Python实现的tab文件操作类分享
Nov 20 Python
Python下线程之间的共享和释放示例
May 04 Python
在Django的模型和公用函数中使用惰性翻译对象
Jul 27 Python
Python中for循环和while循环的基本使用方法
Aug 21 Python
JSON Web Tokens的实现原理
Apr 02 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
Aug 31 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
通过python爬虫赚钱的方法
Jan 29 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 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
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
PHP树的代码,可以嵌套任意层
2006/10/09 PHP
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
php常用表单验证类用法实例
2015/06/18 PHP
javascript表单验证和Window详解
2014/12/11 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
jQuery插件实现的日历功能示例【附源码下载】
2018/09/07 jQuery
微信上传视频文件提示(推荐)
2018/11/22 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
Python的垃圾回收机制深入分析
2014/07/16 Python
简单的Python抓taobao图片爬虫
2014/10/26 Python
python简单文本处理的方法
2015/07/10 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
关于python中remove的一些坑小结
2021/01/04 Python
一个入门级python爬虫教程详解
2021/01/27 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
写一个方法1000的阶乘
2012/11/21 面试题
Oracle快照(snapshot)
2015/03/13 面试题
微观物理专业自荐信
2014/01/26 职场文书
广告语设计及教案
2014/03/21 职场文书
活动倡议书范文
2014/05/13 职场文书
新书发布会策划方案
2014/06/09 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
村主任当选感言
2015/08/01 职场文书
单位提档介绍信
2015/10/22 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle