JAVA實現web登錄

web登陸無非就是網頁獲取,cookie 的管理,postget方式的模擬。

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(); 
//
取得sessionID. 
String cookieVal = hc.getHeaderField("Set-Cookie"); 
String sessionId; 
if(cookieVal != null) 
{ 
sessionId = cookieVal.substring(0, cookieVal.indexOf(";")); 
}

發送設置cookie 
HttpURLConnection huc= (HttpURLConnection) url.openConnection(); 
if(sessionId != null) 
{ 
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(); 
huc.connect(); 
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();

}

 


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();

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章