Category Archives: Java
IN:Java, 编程相关 Comments:7申明一点,仅供学习研究之用。本来的打算也只是玩玩的。
本来是打算用Java写个校内网刷人气的工具在我的服务器上运行,这样可以一天24小时不停的刷,哈哈。不过很可惜写完后发现程序在服务器上运行一会儿就会被杀掉,这个应该是Dreamhost的限制吧,要是没有这个限制那么……呵呵,大家可以想像一下可以在服务器上做些什么事情。
还是用的Httpclient这个包,其实最值得一提的是验证码的识别(校内目前的设置是访问100个人需要填一次验证码), 我在网上搜索了好长时间也没有什么结果,最后在编程中国的论坛里得到神vLinux飘飘x的帮助,在这里表示十分的感谢。由于校内网目前的验证十分简单,因此识别起来也不是很难,使用模板匹配的方式,建立十个数字的模板,然后通过对比分析图片中数字与模板的匹配程度,最接近1的为识别出来的数字。
没有图形界面,因为打算是在服务器上运行的,用户名、密码通过Jbrush.conf这个配置文件来获得,还包括留言内容、所要刷的校内网起始ID与结束ID。
留言不能为中文,这里有点问题,还没有解决。
如果哪位朋友有自己的服务器可以试着在服务器上挂着刷,呵呵。
主程序:Jbrush.java
验证码识别:CodeHacker.java
验证码模板:CodeData.java
配置文件:Jbrush.conf
打包下载
IN:Java, 编程相关 Comments:0针对phpwind 5.3版本,目前功能介绍:
- 在验证码没有开启的情况下可以实现自动注册并且发贴。
- 当注册验证码开启,登录验证码未开启的情况下可以手动注册,然后输入用户名与密码。
- 当注册验证与登录验证全部开启的情况下,本程序无任何作用。
这个星期做课程设计,就写了这个小程序,界面内容仿照晨风论坛灌水机,内容还包括发贴后自动回贴,回复已经存在的贴子,这两个还没有写,不过挺容易实现的,遵循release early的原则。Java代码写的不是很好,基本没有做什么异常处理。先完成课程设计的要求,以后再继续更新,以后会加入验证码分析、或者获得验证码,手动输入。当然更可能的是在程序里显示验证码,然后手动输入,因为毕竟验证码的分析不是一件很容易的事情。
第一个比较大的Java程序,写的时候遇到的很多问题,不过还好,一步一步走下来了,也按照预期的目标完成了该完成的内容。程序的实际意义并没有多少,不过学到了不少东西,GUI的设计(全部是手动写的代码),HTTP协议,httpclient这个包的使用,差点把这个忘了,我的前一篇文章提到了这个包的使用, 它提供了很方便的HTTP操作,可以使我们把程序的重点放在设计上,而不是麻烦的HTTP操作。不过我的程序用到的东西很少,即使用Java已有的java.net里面的类也是很容易实现,更多httpclient的信息可以在HttpClient Home找到。
不过请注意 HTTPClient 与上面说的httpclient是两个不同的项目,我所用的是Apache 的一个开源项目,我刚开始的时侯就把这两个搞混了,结果在这上面浪费了不少时间:-(
查看代码
代码下载
遵循GPL发布
IN:Java, 编程相关 Comments:0Windows下的环境变量配置:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\commons-httpclient-3.0.1.jar;%JAVA_HOME%\lib\commons-logging-1.1.jar;%JAVA_HOME%\lib\commons-codec-1.3.jar;%JAVA_HOME%\lib\junit-4.3.1.jar;%JAVA_HOME%\lib\commons-logging-api-1.1.jar;%JAVA_HOME%\lib\commons-logging-api-1.1.jar;%JAVA_HOME%\lib\commons-logging-api-1.1.jar;%JAVA_HOME%\lib\commons-logging-adapters-1.1.jar
上面要用到的几个包下载地址:
httpclient
commons-codec
commons-logging
junit
下载binary的包,解压后把jar文件放在lib目录下。
BTW:下面这篇文章对Java类路径进行了详细的解释,终于把这个搞明白了了解 Java 类路径
IN:Java, 编程相关 Comments:4用java写的一个光驱开关小程序,实现其实使用的是eject这个程序,主要做了个图形界面,有关eject的使用请参考man手册。
eject实现的原理其实也挺简单的,主要用到的ioctl这个函数,有兴趣可以看一下相关函数的说明,这个函数我还不是很了解。
查看代码
下载代码
UPDATE1:
- 更新了源代码,修改了运行后在某些时候不能正常显示界面的问题(是因为setVisible位置不正确,应该在所有控件添加后使用)
- 修改邮箱地址,以前那个竟然写错了!