启天论坛软件硬件技术Java技术 → 利用JAVA发送POST请求(垃圾注册就是这么产生的)


  共有199人关注过本帖树形打印

主题:利用JAVA发送POST请求(垃圾注册就是这么产生的)

帅哥,在线噢!
junsan
  1楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 总掌门
等级:管理员 帖子:11764 积分:7955 威望:757 精华:24 注册:2005-7-14 15:13:00
利用JAVA发送POST请求(垃圾注册就是这么产生的)  发帖心情 Post By:2008-10-26 11:41:00



作者:renyanwei

大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了,但是可不可以向网页中发送POST请求呢,注册程序就是我们在点击提交按钮后往指定页面发送POST请求以便送往数据库

本例就来做个演示,往一个完美私服的数据库里不断发送注册请求

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/>

 

总结:为什么我们可以这么肆无忌惮的玩弄人家,最重要的原因是什么?无验证码!

通过这个程序只是想劝告大家,以后做网页可一定要注意这一点儿啊,不然碰到别有用心的人可不好玩儿啊

 

 



主页:http://www.rsky.com.cn

培训论坛:http://www.javastar.org

Blog:http://blog.csdn.net/junnef

技术交流QQ:334620162

培训咨询QQ:66883074

合租咨询QQ:631066985

MSN:junsanjin@hotmail.com

Emial:junsanjin@263.net

传真:(010)950507转747393
启天合组-专业合租空间提供商 支持(0中立(0反对(0回到顶部