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入门之modf()方法的使用
May 15 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
Python拼接字符串的7种方法总结
Nov 01 Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 Python
什么是Python包的循环导入
Sep 08 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
Python中re模块的元字符使用小结
Apr 07 Python
如何使用python包中的sched事件调度器
Apr 30 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 XPath对XML文件查找及修改实现代码
2011/07/27 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
零基础学Python(一)Python环境安装
2014/08/20 Python
Python中http请求方法库汇总
2016/01/06 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
Python如何使用函数做字典的值
2019/11/30 Python
Python实现括号匹配方法详解
2020/02/10 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
德国PC硬件网站:CASEKING
2016/10/20 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
法律专业应届本科毕业生求职信
2013/10/25 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
离婚财产分配协议书
2014/10/21 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript