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实现代码
Oct 10 Python
python中模块的__all__属性详解
Oct 26 Python
python入门前的第一课 python怎样入门
Mar 06 Python
pandas多级分组实现排序的方法
Apr 20 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
通过实例了解Python异常处理机制底层实现
Jul 23 Python
python 删除系统中的文件(按时间,大小,扩展名)
Nov 19 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
解决Pytorch中关于model.eval的问题
May 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
原生js开发的日历插件
2017/02/04 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue cli 全面解析
2018/02/28 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
python如何求100以内的素数
2020/05/27 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
html5时钟实现代码
2010/10/22 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
药学专业个人的自我评价
2013/12/31 职场文书
生产厂长岗位职责
2014/02/21 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
小学生作文批改评语
2014/12/25 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书