web登陆无非就是网页获取,cookie 的管理,post和get方式的模拟。
  1.网页内容获取      java.io.InputStream  in;       java.net.URL url = new java.net.URL(www.xyz.com/content.html);       java.net.HttpURLConnection connection = (java.net.HttpURLConnection)           url.openConnection();       connection = (java.net.HttpURLConnection) url.openConnection();      //模拟成IE       connection.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");       connection.connect();       in = connection.getInputStream();       java.io.BufferedReader breader =           new BufferedReader(new InputStreamReader(in , "GBK"));       String str=breader.readLine());       while(st != null){         System.out.println(str);         str=breader.readLine());       } 2.cookie管理 
  
1.直接的方式 取得cookie: HttpURLConnection huc= (HttpURLConnection) url.openConnection(); |   
| InputStream is = huc.getInputStream(); |   
| String cookieVal = hc.getHeaderField("Set-Cookie"); |   
|     sessionId = cookieVal.substring(0, cookieVal.indexOf(";")); |   
} 
| HttpURLConnection huc= (HttpURLConnection) url.openConnection(); |   
| huc.setRequestProperty("Cookie", sessionId); |   
| InputStream is = huc.getInputStream(); |    |    
2.利用的jcookie包(http://jcookie.sourceforge.net/ ) 获取cookie: 
 
| URL url = new URL("http://www.site.com/"); |   
| HttpURLConnection huc = (HttpURLConnection) url.openConnection(); |   
| InputStream is = huc.getInputStream(); |   
| Client client = new Client(); |   
| CookieJar cj = client.getCookies(huc); |   
新的请求,利用上面获取的cookie:
  
 
| url = new URL("http://www.site.com/"); |   
| huc = (HttpURLConnection) url.openConnection(); |   
| client.setCookies(huc, cj); |   
3.post方式的模拟 URL url = new URL("www.xyz.com");   HttpURLConnection huc = (HttpURLConnection) url.openConnection(); //设置允许output   huc.setDoOutput(true); //设置为post方式   huc.setRequestMethod("POST");   huc.setRequestProperty("User-Agent","Mozilla/4.7 [en] (Win98; I)");   StringBuffer sb = new StringBuffer();   sb.append("userName="+userNme);   sb.append("&password="+password);
  //post信息  OutputStream os = huc.getOutputStream();  os.write(sb.toString().getBytes("GBK"));  os.close();
  BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream()))
  
huc.connect();
  String line = br.readLine(); 
while(line != null){ 
l
  System.out.printli(line);
  
line = br.readLine(); 
} 
  结束语:      上面的代码基本就可以实现网站的登陆、信息获取的功能。看到登陆奇兵等软件卖的那么火,我们也做一个去吧 .
  参考: 1.A recipe for cookie management  http://www.javaworld.com/javaworld/jw-04-2002/jw-0426-cookie.html
  
 
  |