校内踩踩小工具v0.1

明天要考数据库应用了,今天仍然忍不住把校内踩踩小工具写完。 上次被打击了,人家刷人气的工具是建立一个平台进行互踩,但是安全性存在问题。我自己写的这个小东西能在校内限制范围内刷50个相同区域的页面(校内限制次数是100 ,可以执行两次,以后再执行就必须到网页输入验证码),然后通过他人回踩来提高人气。 纯粹是自己写着玩,几乎没有什么应用价值,不过既然写了这么久,也就放上来,大家把玩一下。 压缩包内两个文件,一个xml保存帐号密码,用文本编辑器就可以编辑,另外一个是jar文件,在cmd下面用"java -jar XiaoneiCaiCai.jar"运行。 ...

2009-06-14 · alswl

java.net.*操作session/GET/POST方法

终于又考完一门试,开始做课程设计了,结果课程设计给工作室一个尾气3个月的项目,而这次的先用我写的贴吧放上去,我变得暂时空闲了,开始着手写校内开心农场小工具- 全能拖拉机。 首先要解决的就是校内登录的问题,那就是Get/Post方法了,还有用户状态保存,就是session的操作。Java不同于C#,那位可以集成系统 的浏览器或者之间创建一个Browser。 开始写了自己的第一个版本。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.net.HttpURLConnection; public class FarmerHelper { /** * @param args * @throws ProtocolException */ public static void main(String[] args) throws ProtocolException { String loginUrlStr = "http://login.xiaonei.com/Login.do"; String homeUrlStr = "http://home.xiaonei.com/Home.do"; URL loginUrl = null; URL homeUrl = null; HttpURLConnection loginConn = null; HttpURLConnection homeConn = null; try { loginUrl = new URL(loginUrlStr); homeUrl = new URL(homeUrlStr); try { loginConn = (HttpURLConnection) loginUrl.openConnection(); homeConn = (HttpURLConnection) homeUrl.openConnection(); } catch (IOException e) { print("Conn't open the url connection!"); e.printStackTrace(); } } catch (MalformedURLException e) { print("Illegal URL!"); e.printStackTrace(); return; } loginConn.setRequestMethod("POST"); loginConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.10)" + " Gecko/2009042316 Firefox/3.0.10"); loginConn.setRequestProperty("Keep-Alive", "300"); loginConn.setRequestProperty("Connection", "keep-alive"); loginConn.setRequestProperty("email", "alswlwangzi@163.com"); loginConn.setRequestProperty("password", "xh77Gffb_i"); loginConn.setRequestProperty("submit", "登录"); loginConn.setRequestProperty("Keep-Alive", "300"); try { loginConn.connect(); String headerName = null; String cookie = ""; /* * for (int i=0; (headerName = * loginConn.getHeaderFieldKey(i))!=null; i++) { if * (headerName.equals("Set-Cookie")) { cookie = * loginConn.getHeaderField(i); print(cookie); } } */ cookie = loginConn.getHeaderField("Set-Cookie"); print(cookie); homeConn.setRequestProperty("Cookie", cookie); homeConn.setRequestMethod("GET"); homeConn.connect(); BufferedReader in = new BufferedReader(new InputStreamReader( homeConn.getInputStream())); String lineStr = null; while ((lineStr = in.readLine()) != null) { // print(lineStr); print(new String(lineStr.getBytes("GBK"), "UTF-8")); } } catch (IOException e) { print("conn't connect to the server!"); e.printStackTrace(); } } private static void print(Object o) { System.out.println(o); } } 想法总是好的,现实总是残酷的,调试很久,用WireShark抓包,都是有Length Required错误,这个比较头疼,我感觉是我session传递的问题(其实不是,后来发现是Post的格式问题),于是网上找来一个Session操作类。 ...

2009-06-09 · alswl

Java中的POST引发的...

因为一直想写一个刷人气的工具,其中最基本的就是post方法了,然后再收集页面中的元素。今天我就开始着手写Java的POST方法。 在Java.net.*;中用URL构造地址,然后用流写入,似乎应该是很简单的方案,我却一直没成功。我百度Google了很久,参考了很多别人代码,似乎很容易实 现,可是我的一直问题,而我觉得和网上提供的一样。我的代码如下 package netStudy01; import java.io.*; import java.net.*; public class PostBaidu { public static void main(String[] args) { try { URL url = new URL("[ http://localhost/xhpx_web/gradequery.asp](http://localhost/xhpx_web/gradequery .asp)"); try { HttpURLConnection conn = (HttpURLConnection) url.openConnection(); HttpURLConnection.setFollowRedirects(false); conn.setInstanceFollowRedirects(false); ...

2009-02-05 · alswl

网络编程学习日记(3)_利用WinPcap实现ARP的发送和接受

网络编程学习日记(2)_利用WinPcap实现ARP的发送和接受 网络编程学完以太网帧的结构,就开始正式进入IP层的学习了,在学习编程之前,对网络协议的有一定的了解,而且还要知道每个数据包,或者是报文,或者是帧他们每个字节 的含义 玩ARP么,肯定得知道他的原理,我就不做什么说明了,书上一大堆的 首先是ARP的接收,来看一下程序的流程 获取网络设备列表 pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) 然后人机交互一下,获得需要工作的网卡 打开需要的网卡 (adhandle= pcap_open(d->name, // 设备名 65536, // 要捕捉的数据包的部分 // 65535保证能捕获到不同数据链路层上的每个数据包的全部内容 PCAP_OPENFLAG_PROMISCUOUS, // 混杂模式 1000, // 读取超时时间 NULL, // 远程机器验证 errbuf // 错误缓冲池 ) 检查数据链路层,我们只考虑以太网 ...

2008-09-25 · alswl

ARP

挺累的,连续两天忙到3点睡觉,早上9点起来继续做 开始挺没状态,但后来写着写着状态来了,一个一个新的想法也加入了。代码就变得丰富多彩起来。 这是网络编程,也就是我的专业方向课的第一份作业,我特别看中这次,当初分方向时候,鑫爷和大妈都去了软件,我留在网络了。似乎都觉得网络好学,简单,不要写程序 那么我就写 第一次将c++与系统底层结合起来,去操作网络上的数据包,感觉真是,太perfect了,不再是呆板的代码,而是真实的数据,真实的操作,甚至我感觉通过键盘,我能 控制一切的感觉 ...

2008-09-23 · alswl

网络编程学习日记(2)_WinPcap自带教程的一些例子的学习

1.编译时候会出现函数问题 'pcap_findalldevs_ex' : undeclared identifier 'PCAP_SRC_IF_STRING' : undeclared identifier 'pcap_open' : undeclared identifier 'PCAP_OPENFLAG_PROMISCUOUS' : undeclared identifier '=' : cannot convert from 'int' to 'struct pcap *' 等一系列函数找不到的问题,导致这些问题的关键在于他们的函数声明并不包含在pcap.h这个 头文件里面,而是包含在remote-ext.h这个函数里面,所以只需要在 #include “pcap.h"后面加上 #include “remote-ext.h” 就可以编译通过了。 网上有网友戏称说是WinPcap开发小组故意做的恶作剧或者是撰写doc说明时候忘记加入了 = =# 2.出现连接错误 ...

2008-09-14 · alswl

网络编程学习日记(1)_WinPcap和VC的配置

下学期有网络变成,用的是《计算机网络高级软件编程技术》,研究生教材,感觉书写的很泛泛,毕竟是给研究生用的书籍,很多基础的细节都没有写清楚,搞不懂学校怎么弄这 种书,叹一个。 直接导致了我很多东西都得一点一点去网上查找。 很多函数都是用的WinPcap的,所以我又抓紧时间看WinPcap的入门知识。 WinPcap开发包下载:[http://www.winpcap.org/install/default.htm](http://www.winpcap.o rg/install/default.htm) ...

2008-08-21 · alswl

课程设计作品大登场

Thumbnail

本文乃08-09校内日志存档,我一起给发布了,如果给大家阅读造成困难,我深感抱歉 这个系统我还是很得意的,是我大二时候学C#时候巅峰之作,那时候刚学完网络, 还没开任何网络编程,那时候第一次接触SourceForge,参考了好多英文资料。 AzaChat管理系统 Powered by DDD & King ZD 系统功能 登录,注册,群聊,私聊,踢人,聊天字体设置,字体颜色,图片插入,图文混编,音效播放,抖动窗体(模仿QQ) 聊天人员管理,数据库管理,数据库查找功能 皮肤更换功能 系统说明 这个系统是我这个学期课程设计,花了我将近一个多月的时间(期末考试阶段,很忙 - -#),在写之前,我完全不懂数据库和网络传输,C#和面向对象思想也是这学期刚开的。虽然Bug还很多,但我仍然写出来了,很是开心。 ...

2008-07-11 · alswl