对RoboMaster论坛自动签到脚本制作(虽然没什么用)
RoboMaster论坛自动签到,自动浏览刷分
不务正业系列
上完最后一节课,队长跟我们说,RM有个BBS,可以看看,但是下载要金币,这个金币只能做签到等事情才能得到,所以我用python做了一个小程序搞事,自动签到。
FLAG:写完这篇就去复习大物
效果图:
签到功能:
浏览刷分功能:
正题
网上流行的自动签到主要有两种,一种是用类似浏览器的插件,让浏览器后台模拟鼠标点击,它的局限是换了电脑就不好用了,要装一大堆东西,但对网站兼容性好。
另一种是直接发数据包,浏览器与服务器的通讯都是采用数据包的形式,不妨直接发数据包,比较方便,但是对一些安全性高的网站不好用。
我用的是第二种。网上教程极少。
流程
安装Fiddler
这是一个网络分析软件,用于截取数据包,估计wireshark也能干。网上安装教程一大堆。
人工登陆找正常数据包
这个就是正常登陆数据包,username是账号,password是密码的MD5加密结果(小写)
数据包内容
数据包头header:
部分代码
主要思路,删掉了一些敏感信息,请自行添加
数据包生成
模块
import urllib.request
import urllib
import gzip
import http.cookiejar
import re
函数
#定义一个方法用于生成请求头信息,处理cookie
def getOpener(head):
# deal with the Cookies
# <pre name="code" class="python">
cj = http.cookiejar.CookieJar()
pro = urllib.request.HTTPCookieProcessor(cj)
opener = urllib.request.build_opener(pro)
header = []
for key, value in head.items():
elem = (key, value)
header.append(elem)
opener.addheaders = header
return opener
#定义一个方法来解压返回信息
def ungzip(data):
try: # 尝试解压
print('正在解压.....')
data = str(gzip.decompress(data),'UTF-8')
data = re.sub("[A-Za-z0-9\!\%\[\]\,\。\<\=\"\/\>\#\:\;\'\(\)\_\-\$\@\?\.\+\=\*\%\&\|\{\}\' '\\n]", "", data)
print('解压完毕!')
except:
print('未经压缩, 无需解压')
return data
#封装头信息,伪装成浏览器,注意每个功能的header都不一样
#Cookie1 =
省略
header = {
省略
}
header1 = {#签到
省略
}
#退出
header2 = {
省略
}
header3 ={#浏览主页
省略
}
username = 'xxxxxxx'#你的用户名
password = 'xxxxxxxxxx'#你的密码的MD5加密后,(小写字母)
postDict = {
'formhash':'00000129',
'referer':'https://bbs.robomaster.com/portal.php',
'username': username,
'password': password,
'questionid':'0',
'answer':''
}
sign_url= 'https://bbs.robomaster.com/misc.php?mod=supply&op=sign'
login_url = 'https://bbs.robomaster.com/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=Louwq&inajax=1'
logout_url='https://bbs.robomaster.com/member.php?mod=logging&action=logout'
def login(header,login_url,postDict):
print('开始登录')
opener = getOpener(header)
postData = urllib.parse.urlencode(postDict).encode()
op = opener.open(login_url, postData)
print("msg: "+ op.msg)
#print("status:"+op.status + "msg"+ op.msg)
data = op.read()
data = ungzip(data)
print(data)
print('登陆成功')
def sign(header,sign_url):
print('开始签到')
opener = getOpener(header)
op = opener.open(sign_url)
data = op.read()
print("msg: "+ op.msg)
data = ungzip(data)
print(data)
print('签到成功')
def logout(header,logout_url):
print('开始退出')
opener = getOpener(header)
op = opener.open(logout_url)
data = op.read()
data = ungzip(data)
print(data)
print("msg: "+ op.msg)
print('退出成功')
对RoboMaster论坛自动签到脚本制作(虽然没什么用)的更多相关文章
- Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)
T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提 ...
- python写的自动签到脚本。
等以后有时间补上. 附上代码: #! /usr/bin/env python # coding:utf-8 #-----------------------------------------学号和密 ...
- 基于python3.7的一个闯越自动签到脚本--demo版
望指正demo的定位,有时候会抽风无法接受我的定位信息 #! /usr/bin/python3 # -*- coding:UTF- -*- # time : // : # file : chuangy ...
- 基于【腾讯云函数】/【GitHub Actions】/【Docker】的每日签到脚本(支持多账号使用)
每日签到集合 基于[腾讯云函数]/[GitHub Actions]/[Docker]的每日签到脚本 支持多账号使用 特别声明: 本仓库发布的脚本及其中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究 ...
- Jmeter介绍以及脚本制作与调试
目录 Jmeter介绍 Jmeter安装 Jmeter主要测试组件 Jmeter元件作用域与执行顺序 Jmeter运行原理 Jmeter脚本制作 Jmeter脚本调试 Jmeter介绍 Jmeter ...
- 利用Python实现App自动签到领取积分
要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...
- selenium之数据驱动框架应用WPS个人中心自动签到
wps在注册后,有个每日签到的功能,签到后有几率送wps的专属金币[稻米],为了免费获得,又不想每天都是人工去执行签到动作,所以用selenium写了个小脚本,准备用数据驱动框架来完成这个事情,数据驱 ...
- 自动签到升级版(JS实现的每日定时任务)
公司规定每日签到两次:日子太安逸了,有时候中午居然会忘记签到…… 于是,笔者寻思写一个自动签到的脚本:每天指定两个签到时段,每次打开页面,先检测当前是否为签到时段,如果在签到时段,则检查cookie中 ...
- nodejs什么值得买自动签到自动评论定时任务
本项目是基于nodejs开发,实现的功能是,什么值得买自动签到,自动评论功能,自动发邮件,支持多人多账号运行 目的是为了,解放双手,轻松获取什么值得买的经验和积分,得到更高的等级,从而突破很会员等级限 ...
随机推荐
- sql server2008用ip远程连接
sql server2008用ip远程连接 转载 weixin_34167819 发布于2017-09-14 15:23:00 阅读数 84 收藏 展开 1,2005的外围应用配置器在2008中换了地 ...
- 计算几何-Ang-Rad-Vector
This article is made by Jason-Cow.Welcome to reprint.But please post the article's address. 旋转,跳跃,梦境 ...
- 1.1 Eclipse下载安装(+java环境)
可直接上官网下载:http://www.eclipse.org/downloads/ 直接下载地址:http://www.eclipse.org/downloads/download.php?file ...
- 题解【POJ1651】Multiplication Puzzle
Description The multiplication puzzle is played with a row of cards, each containing a single positi ...
- 【音乐欣赏】《In The End》 - Taska Black / Aviella
曲名:In The End 作者:Taska Black .Aviella [00:00.00] 作曲 : Joachim Gorrebeeck/Aviella Winder [00:11.48]La ...
- 学会C#可以做什么
C#基于.NET Framework 和 .NET CORE平台 Client/Server 客户端/服务端 windows桌面应用程序 winform 2D WPF 3D Browser/Se ...
- JS中的字符串可以直接调用字符串对象的属性和方法
在JS中,会自动在字符串与字符串对象之间进行转换,因此,任何一个字符串常量都可以看作是一个String对象,其可以直接作为对象使用,只要在字符串变量的后面加 “.” 便可以直接调用String对象的属 ...
- select2多选框初始化默认值和获得值
select2多选自带手动输入搜索功能,可怜我还查寻半天api 获得值: //chang函数获取选择的option $(".js-example").change(function ...
- [PHP]新版的mongodb扩展安装和使用
旧版的mongo扩展已经不推荐使用了,在php7以上一般是安装和使用新版的mongodb扩展 ubuntu下 apt-get install php-mongodb 例如下面的代码进行了查询和插入集合 ...
- Bugku-CTF加密篇之告诉你个秘密(ISCCCTF)
告诉你个秘密(ISCCCTF) 636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5 ...