import java.io.*;import java.util.*;import java.net.*;public classWebTest {public static voidmain(String[] args) {
System.out.println("beging...");
DownLoadPages("http://login.xiaonei.com/Login.do", "d:/fileDown.txt");//visit("http://www.xiaonei.com");
System.out.println("end.");
}public static voidDownLoadPages(String urlStr, String outPath) {int chByte = 0;
URL url= null;
HttpURLConnection httpConn= null;
InputStream in= null;
FileOutputStream out= null;try{
String post= "email=" + URLEncoder.encode("e-mail", "UTF-8")+ "&password=" + "password";
url= newURL(urlStr);
httpConn=(HttpURLConnection) url.openConnection();//setInstanceFollowRedirects can then be used to set if//redirects should be followed or not and this should be used before the//connection is established (via getInputStream, getResponseCode, and other//methods that result in the connection being established).
httpConn.setFollowRedirects(false);//inorder to disable the redirects
httpConn.setInstanceFollowRedirects(false);
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
httpConn.setRequestProperty("User-Agent","Mozilla/5.0 (compatible; MSIE 6.0; Windows NT)");
httpConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");//ok now, we can post it
PrintStream send = newPrintStream(httpConn.getOutputStream());
send.print(post);
send.close();
URL newURL= new URL(httpConn.getHeaderField("Location"));
System.out.println("the URL has move to "
+ httpConn.getHeaderField("Location"));
httpConn.disconnect();//OK, now we are ready to get the cookies out of the URLConnection
String cookies =getCookies(httpConn);
System.out.println(cookies);
httpConn=(HttpURLConnection) newURL.openConnection();
httpConn.setRequestProperty("User-Agent","Mozilla/5.0 (compatible; MSIE 6.0; Windows NT)");
httpConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
httpConn.setRequestProperty("Cookie", cookies);
httpConn.setDoInput(true);
in=httpConn.getInputStream();
out= new FileOutputStream(newFile(outPath));
chByte=in.read();while (chByte != -1) {
out.write(chByte);//System.out.println(chByte);
chByte =in.read();
}
}catch(Exception e) {
e.printStackTrace();
}
}public staticString getCookies(HttpURLConnection conn) {
StringBuffer cookies= newStringBuffer();
String headName;for (int i = 7; (headName = conn.getHeaderField(i)) != null; i++) {
StringTokenizer st= new StringTokenizer(headName, "; ");while(st.hasMoreTokens()) {
cookies.append(st.nextToken()+ "; ");
}
}returncookies.toString();
}
}