java 实现web 登陆
来源:互联网 发布:大班美工区域材料图片 编辑:程序博客网 时间:2024/06/06 07:06
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();
// 取得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();
}
结束语:
上面的代码基本就可以实现网站的登陆、信息获取的功能。看到登陆奇兵等软件卖的那么火,我们也做一个去吧
- java 实现web 登陆
- java 实现web 登陆
- java 实现web 登陆
- java 实现web 登陆
- JAVA实现web登陆
- java 实现web 登陆
- java实现登陆WEB站点,并提交数据
- Java Web中简单实现自动登陆功能。
- 练习搭建spring+springmvc+mybatis实现java web登陆
- 嵌入式BOA实现WEB登陆
- Java实现模仿登陆
- java实现登陆界面
- Java 实现自动登陆
- java WEB 登陆拦截器
- Java web 服务器登陆功能
- java web 不能异地登陆
- java web中实现同一帐号同一时间只能一个地点登陆(类似QQ登录的功能)
- java web中实现同一帐号同一时间只能一个地点登陆(类似QQ登录的功能)
- 电网业务知识(二)
- 设计模式Singleton学习
- 1233 最小生成树 prim 从1开始
- Javascript 面向对象编程(一):封装
- work
- java 实现web 登陆
- 8310刷机真够慢了
- awk处理多个文件
- java中的值传递和引用传递
- android资料
- zoj 1831 Substitution Cypher
- decimal 和numberic
- JS各种数据验证
- Today Screen Issue in Mobile 6.5