首页 > 其他分享 >模拟用户登录网站

模拟用户登录网站

时间:2024-10-31 16:49:54浏览次数:1  
标签:登录 get 用户 token cookie post requests 模拟

模拟用户登录网站

requests模块
Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。

requests 的底层实现其实就是 urllib3

Requests的文档非常完备,中文文档也相当不错。Requests能完全满足当前网络的需求,支持Python 2.6—3.5,而且能在PyPy下完美运行。

支持get、post、put、delect等请求方式

安装方式

pip install requests

引用

import requests

模拟用户登录

#测试网址http://www.glidedsky.com/login

#调用标准库
import requests
import re

#登录信息
agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36",

#请求头信息
header = {
    "user-Agent": str(agent),
    "Upgrade-Insecure-Requests": "1",
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4',
    "Referer": "http://www.glidedsky.com/",
  }

# 创建session保持回话连接
mf = requests.session()

#登录网址
post_url = 'http://www.glidedsky.com/login'

# 发送get请求获取登陆页面信息
cookie_dict = mf.get(post_url, headers=header).text

# 使用re解析登陆页面,得到token值
token = re.findall('<input type="hidden" name="_token" value="(.*?)">',cookie_dict)[0]

# 将token和账号密码封装成字典
post_data = {
    "email": "176xxx.com",
    "password": "mxxxx59",
    "_token": token,
}

#模拟用户登录2022-04-29 15:32:11 星期五
cookie = mf.post(post_url,data=post_data,headers=header)

#打印cookie信息(XSRF-TOKEN、glidedsky_session)
print(cookie.headers["Set-Cookie"])     #打印请求头的cookie信息
print(cookie.cookies.get("glidedsky_session"))      #获取指定的cookie信息
print(cookie.cookies.get_dict())        #以字典形式返回cookie所有信息
print(cookie.url)       #打url
print(cookie.request)       #打印请求方式

携带csrf-token
相关网站:https://cxybb.com/article/u014535666/106151119

上面使用破post模拟请求登录之后,后面可以直接使用mf去调用登录,不需要单独去获取登录cookie。request有会话保持。

标签:登录,get,用户,token,cookie,post,requests,模拟
From: https://www.cnblogs.com/megshuai/p/18518288

相关文章

  • NOIP 模拟赛:2024-10-28
    T1:给定两个数组\(a,b\),要求将\(b\)重排,使得\(b>a\)的位置个数最多,在此基础上最大化\(b\)的字典序。\(n\le5000\)。最多的位置个数是容易求的,排个序即可。如何最大化字典序?依次枚举\(i=1\simn\),然后从大到小枚举\(j\)看看\(b_i=j\)是否可以让后面依然保持大于位......
  • uniapp - 详细实现移动端公众号 H5 网页授权登录流程及示例代码,申请测试公众号全流程
    前言Vue版本,请访问这篇文章。在uni-appH5网站平台开发中,详解微信公众号网页接入微信授权登录示例代码,附带申请测试公众号全流程及配置教程,提供前端h5页面公众号网页实现授权登陆并获取用户昵称头像数据的示例源码,用自己项目跑出来的本地局域网IP段就可以拉起公众......
  • 【解锁Jenkins权限管理秘籍】从新手到专家,一文掌握用户角色与权限配置!
    在Jenkins中,用户角色权限管理是确保系统安全和有效协作的关键。Jenkins提供了多种角色和权限设置,允许管理员根据需要分配不同的访问级别。以下是详细的用户角色权限管理步骤和代码示例。一、Jenkins用户角色概述Jenkins默认提供以下几种角色:Admin(管理员):拥有所有权限,包......
  • 【10-31模拟赛T1】四舍五入
    给出\(n\),对于任意正整数\(i\)满足\(1\leqi\leqn\),求有多少个正整数\(j\)满足\(1\leqj\leqn\)且\(i\bmodj\leq\frac{j}{2}\)。枚举\(i\)不好处理,可以反过来,外层枚举\(j\),内层枚举左右端点\(l=kj,r=kj+\lfloor\frac{j}{2}\rfloor\)(\(k\)为自然......
  • 前端如何检测用户登录状态是否过期?
    在前端开发中,判断用户登录状态是否过期是一个常见的需求。尤其是在复杂的场景中,准确判断用户登录状态是否过期是保障用户体验的关键环节。这一过程涉及到服务器与前端之间的紧密协作,以及多种技术手段的综合运用,还是蛮有挑战性的。判断登录过期的主要方法有:......
  • 阿里云DataV Board大屏管理系统用户界面概览
    数据可视化DataV_数据分析工具_双十一数据可视化_三维可视化-阿里云产品界面布局概览在进入DataVBoard产品主界面,分为工作台、设计中心、可视化学院、帮助和教程四个主要板块。工作台可视化应用搭建的主要入口,包含工作空间管理、项目管理、画布创建、可视化应用搭建、蓝......
  • HttpSession和Cookie的管理对于维持用户会话
    1.HttpSession生命周期HttpSession用于在服务器端维持用户会话,从首次访问网站开始创建,通过唯一的SessionID标识。会话生命周期通常由用户活动(如页面刷新、导航)延续,超时或注销后会话销毁。默认情况下,会话在设定的时间无活动后超时,但可以通过Cookie持久化,实现跨页面、跨浏览器......
  • 模拟信号和数字信号之间的区别
    ​​模拟信号和数字信号之间的区别:1.信号的表示方式;2.信号的处理和传输;3.抗干扰能力;4.存储和复制;5.应用场景。模拟信号和数字信号作为信息载体,在通信领域内扮演着核心角色。模拟信号以连续变化的方式表征信息,而数字信号则以离散数值形式存在。1.信号的表示方式模拟信号的连续......
  • 24h搜书zlibrary中文官网登录入口及客户端app
    24h搜书是什么24小时搜书是一个提供在线搜索和下载电子书的平台,它允许用户根据书名、作者、出版社等信息搜索电子书,并支持多种电子书格式,如azw3、mobi、epub、pdf等。这个平台以其丰富的电子书资源和便捷的搜索功能而受到用户欢迎,用户可以免登录直接下载所需的电子书。24小时搜......
  • 基于SSM学生竞赛模拟系统的设计
    管理员账户功能包括:系统首页,个人中心,用户管理,公告信息管理,试题管理,论坛交流,试卷管理,系统管理前台账号功能包括:系统首页,个人中心,公告信息,论坛交流,试卷,校园资讯开发系统:Windows架构模式:SSMJDK版本:JavaJDK1.8开发工具:IDEA(推荐)数据库版本:mysql5.7数据库可视化工具:navic......