利用JAVA发送POST请求(垃圾注册就是这么产生的)
2011-06-15 23:20
387 查看
大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了,但是可不可以向网页中发送POST请求呢,注册程序就是我们在点击提交按钮后往指定页面发送POST请求以便送往数据库
本例就来做个演示,往一个数据库里不断发送注册请求
返回信息
用户 <b>yanwei1</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei2</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei3</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei4</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei5</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei6</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei7</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei8</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei9</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
总结:为什么我们可以这么肆无忌惮的玩弄人家,最重要的原因是什么?无验证码!
通过这个程序只是想劝告大家,以后做网页可一定要注意这一点儿啊,不然碰到别有用心的人可不好玩儿啊
本例就来做个演示,往一个数据库里不断发送注册请求
import java.net.*; import java.io.*; import java.util.Locale; class Test { public static void main(String[] args) { try { //用于注册的用户名 密码 问题 答案临时变量 String temp="renyanwei"; //就注册10个吧,别太过火了 for (int i=1;i<10;i++) { String urlstr="http://www.88wanmei.cn/register.php"; URL url=new URL(urlstr); URLConnection conn=url.openConnection(); //这里是关键,表示我们要向链接里输出内容 conn.setDoOutput(true); //获得连接输出流 OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream()); //这里是我定义了一组账号信息,字段+数据 String str=String.format(Locale.CHINA,"login=%s&&passwd=%s&&repasswd=%s&&Prompt=%s&&answer=%s&&email=%s", temp+i,temp+i,temp+i,temp+i,temp+i,"ren@ren.com"); //把数据写入 out.write(str); out.flush(); out.close(); //到这里已经完成了,不过我们还是看看返回信息吧,他的注册返回信息也在此页面 BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream())); String line=null; int lineNum=1; while((line=reader.readLine())!=null) { ++lineNum; //为什么只输出174行呢,因为这一行才是返回信息嘛,要其他的没用 if(lineNum==174) System.out.println(line); } } } catch (Exception x) { System.out.println(x.toString()); } } }
返回信息
用户 <b>yanwei1</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei2</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei3</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei4</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei5</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei6</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei7</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei8</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei9</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
总结:为什么我们可以这么肆无忌惮的玩弄人家,最重要的原因是什么?无验证码!
通过这个程序只是想劝告大家,以后做网页可一定要注意这一点儿啊,不然碰到别有用心的人可不好玩儿啊
相关文章推荐
- Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- Java利用HttpURLConnection发送post请求上传文件
- Java利用HttpURLConnection发送post请求上传文件
- Java利用HttpURLConnection发送post请求
- 利用JAVA发送POST请求
- Java代码中利用httpClient发送post、get请求
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- Java利用HttpURLConnection发送post请求
- Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- Java发送http请求 (get 与 post方法请求)
- java发送http的get、post请求
- java发送http的get、post请求
- java apache commons HttpClient发送get和post请求的学习整理
- java发送http的get、post请求
- 利用HttpURLConnection发送post请求上传多个文件
- JAVA利用HttpClient进行POST请求(HTTPS)
- Java发送http请求 (get 与 post方法请求)
- Java发送get,post请求