当前位置: 首页 > web >正文

发帖机python_如何用python写一个自动顶帖机?

周末去了好朋友家玩,继上次我帮他修好电脑(插拔内存条+用橡皮擦擦金手指)后。

又问我说,小x啊,你是搞计算机的,能不能帮我写个自动顶帖(回复)的机器啊?

我的好朋友现在除了用两套房子收租外,觉得待在家里太无聊,现在在做网站运营。

现在他作为一个论坛版主,每天要冒充水军回复固定的贴数。。。

我思考了一下,自动顶帖应该是自动发送HTTP协议的POST包吧。

如果是HTTPS那就比较麻烦了,他给我看了下网站 http://club.xxx.com。

嗯,HTTP的,是个老论坛,有希望短时间解决。

先打开百度,搜索下域名映射IP,IP是49.x.x.x,先记下来了。

然后我说你等会,我下载几个东西试试看,然后我下载了:Python3

WireShark

Notepad++

第一步先登陆他的账号,然后进入发帖页面,打开WireShark监听eth0,设置过滤表达式:

http && ip.addr == 49.x.x.x

回复了一个帖子之后,看下WireShark显示的结果,果然有一个POST包。

Post包到达的URL是以php为后缀的,PHP大法好!

先看下headers,数据格式是urlencode,果然是一个古老的论坛。

完整headers如下

headers = {

'Host': 'club.xxx.com',

'Cache-Control': 'max-age=0',

'Origin': 'http://club.xxx.com',

'Upgrade-Insecure-Requests': '1',

'Content-Type': 'application/x-www-form-urlencoded',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36',

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Referer': 'http://club.xxx.com/xxx.html',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,zh;q=0.9',

'Cookie': r'xxxxxxxxxxx'

}

完整的body经过组织后如下

message=内容&posttime=时间戳&formhash=XXX&其他参数=...

第二步,构造相似的HTTP包,把headers内容复制出来后,打开notepad++开始写python。

import time

import urllib

from urllib import parse

from urllib import request

headers = {

'Host': 'club.xxx.com',

'Cache-Control': 'max-age=0',

'Origin': 'http://club.xxx.com',

'Upgrade-Insecure-Requests': '1',

'Content-Type': 'application/x-www-form-urlencoded',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36',

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Referer': 'http://club.xxx.com/xxx.html',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,zh;q=0.9',

'Cookie': #保密#,

'其他没用的参数': #没用#

}

t = time.time()

url = r'http://49.x.x.x/forum.php?action=replay&.....'

data = r'message=test&posttime='+str(t)+r'&formhash=xxx'

req = urllib.request.Request(url=url, headers=headers, data=data.encode(encoding='UTF8'))

response = urllib.request.urlopen(req)

print(response.read())

就是模拟下浏览器发送Post请求,然后打印下Response看看服务器响应什么数据。

第一次发送,Response接到的是一个XML数据,还好心提示我发送数据类型有误。

然后我看了下,原来是忘记encode了,然后尝试进行第二次发送。

Response接到的是一串乱码,打开网页看下,居然直接成功发送了。。

接下来给好朋友定制了一个自动顶帖器,首先查下Python的GUI框架。

好的,自带tkinter,直接用它了。

import tkinter as tk

...

然后我设置了一个文本框(帖子URL),一个文本框(发送间隔:x秒))

一个文件(每行不同的水军内容),一个按钮(发送)。

然后写完测试成功,现在我的好朋友上班点点鼠标就行了。。。。。

然后请我吃了顿好的,美滋滋。

http://www.xdnf.cn/news/10980.html

相关文章:

  • QQ斗地主刷分工具的源码
  • 20个BT下载网站,BT种子网站
  • Android修行手册 - TextureView和SurfaceView的属性方法以及示例
  • 老板口中的一区二区是什么意思?
  • 列表滚动底部加载下一页
  • EJB进行开发项目
  • 使用 Version Catalogs统一配置版本 (Gradle 7.0+ 特性)
  • 每天总结一个html标签——area与map标签
  • 终极陷阱:Java序列化漏洞的内爆原理与防御体系重建
  • 6.3本日总结
  • Python-nuitka
  • LARWINER拉威兒艺术珠宝携手郭培GUOPEI高定服装 共谱「宝光凝粹,锦绣华裳」
  • 依赖注入-@Resource和@Autowired
  • 多数据库学习之星瑞格[SinoDB]数据库安装部署指南
  • CppCon 2014 学习:CONVERGENT EVOLUTION
  • Modbus转Ethernet IP网关助力罗克韦尔PLC数据交互
  • Ubuntu系统 | 本地部署ollama+deepseek
  • 青少年近视防控的科学抉择:长期佩戴与间断使用的深度解析
  • MicroPython+ESP32 连接接WIFI
  • 【散刷】二叉树基础OJ题(二)
  • 基于VLC的Unity视频播放器(四)
  • 如何写一条高效分页 SQL?
  • RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法
  • 数据安全管理进阶:81页 2024数据安全典型场景案例集【附全文阅读】
  • MyBatis常用注解全解析:从基础CRUD到高级映射
  • Shell脚本编程入门与实战指南
  • Qwen2.5-VL 视觉编码器的SwiGLU
  • IT运维工具的选择标准有哪些?
  • [蓝桥杯]求解台阶问题
  • PCI DSS培训记录