capesandbox模拟登录案例
案例: https://www.capesandbox.com/ 模拟登录获取cookie。
Post请求中有 login、password、以及csrfmiddlewaretoken
login和password是明文的账号密码。
csrfmiddlewaretoken 一般是为了解决csrf跨域攻击的随机值,保存在用户的页面上,每次请求都带着这个值过来完成校验。
所以完成登录需要先获取csrfmiddlewaretoken。
那么在控制台搜索一番后,并未找到本地的生成方法,说明该值是由服务端返回的。
重新观察接口,在cookies中发现了问题。
原来在首次get请求时,服务端在response的cookies中返回一个csrftoken,该值和后续使用的csrfmiddlewaretoken相同。
另外需要注意的是,post提交时的参数,cookie中也是csrftoken,referer也不能少,是访问来源的象征。
所以要进行的请求逻辑是: 先请求页面获取response的token,然后根据token构造新的headers和form表单,完成模拟登录。
代码如下:
# -*- coding: utf-8 -*-
# @Author : lximport requests
from requests.utils import dict_from_cookiejardef get_ck():session = requests.session()url = 'https://www.capesandbox.com/accounts/login/'headers = {'accept-language': 'zh-CN,zh;q=0.9','cache-control': 'max-age=0','content-type': 'application/x-www-form-urlencoded','origin': 'https://www.capesandbox.com','referer': 'https://www.capesandbox.com/accounts/login/','sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"','sec-ch-ua-mobile': '?0','sec-fetch-dest': 'document','sec-fetch-mode': 'navigate','sec-fetch-site': 'same-origin','sec-fetch-user': '?1','upgrade-insecure-requests': '1','user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',}csrftoken = dict_from_cookiejar(session.get(url=url,headers=headers).cookies)['csrftoken']data = {'login': '账号', 'password': '密码','csrfmiddlewaretoken': csrftoken}headers.update({'cookie':'csrftoken='+csrftoken})headers.update({'referer':'https://www.capesandbox.com/accounts/login/'})rsp = session.post(url=url,headers=headers,data=data,allow_redirects=False)print(rsp.headers.get('set-cookie'))print(session.get('https://www.capesandbox.com/', headers=headers).text)if __name__ == '__main__':get_ck()
capesandbox模拟登录案例相关推荐
- Python:模拟登录、点击和执行 JavaScript 语句案例
案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...
- 第26讲:模拟登录爬取实战案例
在上一课时我们了解了网站登录验证和模拟登录的基本原理.网站登录验证主要有两种实现,一种是基于 Session + Cookies 的登录验证,另一种是基于 JWT 的登录验证,那么本课时我们就通过两个 ...
- python爬虫(四)cookie模拟登录和反反爬案例
处理不被信任证书的网站 SSL证书:数字证书的一种,配置在服务器上面的,类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证书. SSL证书的特点:遵循了SSL协议,由收信 ...
- Python实战案例,requests模块,Python实现模拟登录淘宝网
前言 利用利用Python模拟登录淘宝网.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re模块 os模块 requests模块: 以及一些Python自带 ...
- 爬虫之JS解析,Python模拟JS代码运行。(附带模拟人人网登录案例)
六.JS解析 1.定位js文件 1.通过initiator定位到js文件 2.通过search搜索关键字定位到js文件 3.通过元素绑定的事件监听函数找到js文件,Event Listeners 注: ...
- 手把手教你用Python模拟登录淘宝
作者 | 猪哥66 来源 | 裸睡的猪(ID:IT--Pig) 最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章! 看了下网上有很多关于模拟 ...
- 12-基于selenium实现12306模拟登录,及京东登录滑动缺口验证模拟登录
流程分析: 使用selenium打开登录页面 对当前selenium打开的这张页面进行截图 对当前图片的局部区域(验证码图片区域)进行截图 这样验证码图片和模拟登录进行所显示的图片一一对应(如果我们对 ...
- java web 登录界面案例_【JavaWeb】74:写一个登录案例
今天是刘小爱自学Java的第74天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: Java又常被称之为后台开发. 什么叫后台呢?除了后台还有什么前台.前端后端-- 这些概念一大堆,还容易弄混. ...
- 爬虫模拟登陆手机验证码_爬虫入门到精通-headers的详细讲解(模拟登录知乎)...
本文章属于爬虫入门到精通系统教程第七讲 直接开始案例吧. 本次我们实现如何模拟登陆知乎. 1.抓包 1. 首先打开知乎登录页 知乎 - 与世界分享你的知识.经验和见解 注意打开开发者工具后点击&quo ...
最新文章
- java的lr词法编译器_Sample语言编译器(词法分析、正规式、LL、LR、 算符优先)...
- 【Java类加载机制】深入加载器
- use regular expression instead of ABAP function module to parse attachment
- jquery 特效专辑
- MLflow机器学习工作流框架更新(2019.3)
- Android数据存储之SQLite数据库存储
- SharpDevelop--一款很不错的.NET开发工具
- Aizu0189 Convenient Location【Floyd算法】
- 使用Exchange 2007搭建多域名邮件系统
- 软件工程---gjb438b 质量规范体系
- 佳能Canon imageCLASS MF725Cdn 一体机驱动
- 配色三部曲-你真懂这些色彩术语吗?
- roc曲线spss怎么做_如何用SPSS做ROC曲线分析?看这1篇就够了!
- flask----后续
- p2p技术分类与发展方向
- python语句和语法介绍
- DNF中伤害类型综合计算方式以及相关Excel文档
- 放大器(PA+LAN)在射频上的应用
- vscode自定义高亮霓虹灯效果主题
- 科学家研制出世界上第一个用木头制成的晶体管