python使用requests.session模拟登录

作者:望月明 时间:2022-09-12 19:17:24 

最近开发一套接口,写个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模拟登录,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://segmentfault.com/a/1190000020019510

标签:python,requests.session,登录
0
投稿

猜你喜欢

  • PHP实现将MySQL重复ID二维数组重组为三维数组的方法

    2023-11-18 03:28:57
  • 如何用python写一个简单的词法分析器

    2022-08-02 00:11:11
  • Python字符串中查找子串小技巧

    2022-04-16 10:58:04
  • Python3将jpg转为pdf文件的方法示例

    2021-06-25 11:31:17
  • python实现人机对战的五子棋游戏

    2021-07-05 04:36:03
  • python 合并多个excel中同名的sheet

    2023-06-06 08:34:27
  • Python数据存储之 h5py详解

    2023-09-18 00:04:48
  • PyQt5每天必学之工具提示功能

    2023-03-12 09:22:00
  • Javascript 每日测试 - 第五期 callee及function

    2008-07-10 13:22:00
  • 微信小程序 swiper 组件遇到的问题及解决方法

    2024-04-18 09:40:47
  • ASP 常见的连接字符串写法(access2007)

    2011-03-25 10:40:00
  • 栅格:一以贯之

    2008-07-22 12:19:00
  • 将图片保存到mysql数据库并展示在前端页面的实现代码

    2024-01-27 05:37:22
  • python里对list中的整数求平均并排序

    2022-08-23 19:51:24
  • 基于vue打包后字体和图片资源失效问题的解决方法

    2024-05-05 09:12:13
  • flask SQLAlchemy连接数据库及操作的实现

    2024-01-28 09:23:29
  • Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)

    2022-10-10 19:11:55
  • python jinjia2的项目使用

    2021-03-16 04:57:21
  • python写入xml文件的方法

    2023-01-01 15:08:54
  • SqlServer 数据库 三大 范式

    2024-01-15 06:58:55
  • asp之家 网络编程 m.aspxhome.com