Java模拟网站登录
2007-05-11 20:43
363 查看
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管理
2.利用的jcookie包(http://jcookie.sourceforge.net/ )
获取cookie:
新的请求,利用上面获取的cookie:
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
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:
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); |
url = new URL("http://www.site.com/"); |
huc = (HttpURLConnection) url.openConnection(); |
client.setCookies(huc, cj); |
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
相关文章推荐
- 利用java模拟网站登录程序代码
- 用java程序模拟网站的登录以及文件批量上传
- 用Java模拟网站登录(二)
- 用Java模拟网站登录
- Java模拟网站登录
- [置顶] Java代码模拟网站登录
- Java模拟网站登录02【转载】
- java模拟登录校内成绩查询网站,将获得的HTML代码用jsoup解析
- java模拟登录qq网站,实现一键签到等等功能
- Java通过httpclient获取cookie模拟登录
- java模拟登录。不会存在跨域问题
- php教程 CURL实现带有验证码网站的模拟登录的方法
- python模拟登录http basic authentication网站
- cookielib和urllib2模块相结合模拟网站登录
- java程序模拟QQ空间登录 - 并模拟刷说说的赞
- python 实现模拟登录网站并实现自动回复帖子
- 模拟登录正方教务管理系统-JAVA实现
- JAVA之模拟注册登录幸运抽奖
- Winform模拟post请求和get请求登录网站
- HttpWebRequest模拟c#网站登录