欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何写一个网页刷票器之类的东西?

程序员文章站 2024-04-02 21:37:16
...
实现比如说,对一个网页页面的一个按钮进行不断点击来刷票的;再比如穷举一个4位的密码。是用什么实现的呢?PHP?写脚本?这样的东西是叫网页“脚本”吗?有没有实现的例子呢?

回复内容:

时隔一年,学习了一些知识,半年前就已经试着写了12306刷票器。今天偶然看到以前自己的提问,就来自问自答一下吧。

第一,无论使用什么语言实现,首先要懂得原理——web最基本的原理是HTTP协议,要先去理解HTTP协议,知道什么是Get请求Post请求。

第二,弄懂网站的工作原理。所谓工作原理就是从后台服务器的数据如何到前端,前端的数据如何发送给服务器,以及服务器是如何知道每一次请求都是来自你这个用户的。也就是说明白cookie和session。
学习的途径可以试着学一种后台语言试着写个用户注册登录的demo,这样理解最深刻。
或者随便找个网站用chrome的F12把“控制台”,打开看Network里的每个请求。
当然最好还是学个一种后台语言,试着做个小网站。
如何写一个网页刷票器之类的东西?第三,懂点密码学。登录的时候,填写的密码一般是加密后才发送的,所以要模拟登录就需要密码加密。了解了解MD5和RSA等等加密算法,具体算法怎么实现的网上都有现成的可以下载研究或者直接用。

第四,图像文字信息识别。这个是为了搞定验证码的,这个我研究不深,对于简单的验证码用ocr就可以。稍微有噪点之类的干扰的用Open CV也可以去除。当然,重叠、旋转等等的复杂验证码,需要更深入的“机器学习”等等知识了。

第五,写刷票工具。工具看写在什么平台了,windows、Linux还是Android?一般跑在windows上用的话,语言很多可供选择的,,C#、java都可以,或者直接写在网页上用javascript写ajax也行。
当然,用好工具和开源库会事半功倍, Apache有个HttpClient可以帮助模拟HTTP协议很方便HttpClient - HttpClient Home

最后,当然了,如果目的只是写一个刷票器,其实不需要如此大动干戈,去细究每个环节的原理和技术细节。但是我知道题主一定不只想做个简单的刷票器,刷票器只是个阶梯。这样学来的“刷票器”的技术一样可以进入教务处疯狂地采集照片做个facemash,然后顺手做个Facebook成为扎克伯格,改变世界,不是吗?

加油吧,年轻人。 反对排名第一的答案。
首先做个简单的刷票器没那么麻烦。
你可以学填表,七八分钟就能学会的东西干嘛搞这么高大上的感觉。
然后可以学习抓包用post或者get让刷票速度更快,最后你可以学习怎么换ip。
我高二时帮班主任做了个刷票软件,就用了一个晚上,功能齐全,成功帮班主任的女儿刷成第一名。

补充一点,你所谓的点击按钮就是填表,可以用vb的webbrowser控件实现,简单的不行。

穷举一个四位的密码,你用0123456789作为基底,然后从0123 0124....一个个试

最后再补充一下,脚本是解释执行,不生成机器代码,比如php,javascript(AJAX技术用到的语言),其它如c/c++,.net,delphi等都是编译型语言,是生成机器码的 我现在也在在琢磨这个东西,这是我之前写的一个程序C# 刷票程序 - woostundy,实现了构造Http请求和换IP。
现在正在研究需要身份验证的投票能否刷票。
相关标签: PHP