Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29423641
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2008-11-17 15:31:14

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

本例就来做个演示,往一个完美私服的数据库里不断发送注册请求
  1. import java.net.*;  
  2. import java.io.*;  
  3. import java.util.Locale;  
  4. class Test   
  5. {  
  6.     public static void main(String[] args)   
  7.     {  
  8.         try  
  9.         {  
  10.             //用于注册的用户名 密码 问题 答案临时变量  
  11.             String temp="renyanwei";  
  12.   
  13.             //就注册10个吧,别太过火了  
  14.             for (int i=1;i<10;i++)  
  15.             {  
  16.                 String urlstr="";  
  17.                 URL url=new URL(urlstr);  
  18.                 URLConnection conn=url.openConnection();  
  19.   
  20.                 //这里是关键,表示我们要向链接里输出内容  
  21.                 conn.setDoOutput(true);  
  22.   
  23.                 //获得连接输出流  
  24.                 OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream());  
  25.   
  26.                 //这里是我定义了一组账号信息,字段+数据  
  27.                 String str=String.format(Locale.CHINA,"login=%s&&passwd=%s&&repasswd=%s&&Prompt=%s&&answer=%s&&email=%s",  
  28.                     temp+i,temp+i,temp+i,temp+i,temp+i,"ren@ren.com");  
  29.                 //把数据写入  
  30.                 out.write(str);  
  31.                 out.flush();  
  32.                 out.close();  
  33.   
  34.                 //到这里已经完成了,不过我们还是看看返回信息吧,他的注册返回信息也在此页面  
  35.                 BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));  
  36.                 String line=null;  
  37.                 int lineNum=1;  
  38.                 while((line=reader.readLine())!=null)  
  39.                 {  
  40.                     ++lineNum;  
  41.   
  42.                     //为什么只输出174行呢,因为这一行才是返回信息嘛,要其他的没用  
  43.                     if(lineNum==174)  
  44.                         System.out.println(line);  
  45.                 }  
  46.             }  
  47.   
  48.         }  
  49.         catch (Exception x)  
  50.         {  
  51.             System.out.println(x.toString());  
  52.         }  
  53.           
  54.     }  
  55.   
  56. }  

阅读(480) | 评论(0) | 转发(0) |
0

上一篇:ajax跨域问题总结

下一篇:17号学习笔记二

给主人留下些什么吧!~~