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实现得到一个给定类的虚函数
Sep 28 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
python getpass模块用法及实例详解
Oct 07 Python
python可视化实现KNN算法
Oct 16 Python
python numpy生成等差数列、等比数列的实例
Feb 25 Python
keras topN显示,自编写代码案例
Jul 03 Python
Python实现中英文全文搜索的示例
Dec 04 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数组去重的函数代码
2013/02/03 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
python通过post提交数据的方法
2015/05/06 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
Python实现自动整理文件的脚本
2020/12/17 Python
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
亮剑观后感500字
2015/06/05 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
方法汇总:Python 安装第三方库常用
2022/04/26 Python