java 实现web 登陆

原创 2004年10月16日 15:56:00

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

}



结束语:
     上面的代码基本就可以实现网站的登陆、信息获取的功能。看到登陆奇兵等软件卖的那么火,我们也做一个去吧 teeth_smile.gif.

参考:
1.A recipe for cookie management
http://www.javaworld.com/javaworld/jw-04-2002/jw-0426-cookie.html

10分钟-JavaWeb入门-登陆功能实现

1.环境搭建环境那个建2.了解MVC模型model–view–controller3.搭建登陆页面HTML代码: userNa...
  • jimo_lonely
  • jimo_lonely
  • 2016年04月01日 12:14
  • 2827

java web开发一个帐号同一时间只能一个人登录(单点登录)

对于一个帐号在同一时间只能一个人登录,可以通过下面的方法实现: 1 .在用户登录时,把用户添加到一个ArrayList中 2 .再次登录时查看ArrayList中有没有该用户,如果ArrayList中...
  • qq_24531461
  • qq_24531461
  • 2017年04月28日 17:04
  • 1658

java 实现web 登陆

web登陆无非就是网页获取,cookie 的管理,post和get方式的模拟。1.网页内容获取     java.io.InputStream  in;      java.net.URL url =...
  • smartghost
  • smartghost
  • 2004年10月16日 08:09
  • 1646

JAVA实现web登陆

  web登陆无非就是网页获取,cookie 的管理,post和get方式的模拟。  1.网页内容获取   java.io.InputStream in;   java.net.URL url = n...
  • memray
  • memray
  • 2010年03月21日 14:34
  • 541

javaweb 实现验证码登录

思路: 1.随机生成4个0-9内数字,放入session中。 2.将数字生产成图片,生产过程如下代码 3.将输入的验证码与session中的验证码匹配 生产图片的过程image.jsp ...
  • wangaiheng
  • wangaiheng
  • 2016年04月17日 14:29
  • 979

JavaWeb-实现多ip、异地 同时登录踢人下线

所用知识点罗列: cookie 、session、serverlet过滤器、serverlet监听器,前提环境是基于Session实现的登录功能(Session中存放了登录者的ip,userName等...
  • zlsdmx
  • zlsdmx
  • 2017年06月23日 18:46
  • 1717

java web之Listener实现单态登录

废话不说,直接上代码! 登录与注销动作都在该JSP中完成。
  • wangxuewei111
  • wangxuewei111
  • 2015年03月25日 22:05
  • 2368

JavaWeb实现用户登录的拦截

1、在web.xml中如下配置loginFilter cmcc.rsc.paweb.scan.LoginFilter loginFilter ...
  • tianjun2012
  • tianjun2012
  • 2016年02月23日 14:22
  • 594

javaweb实现一个账号只能同时被一个人使用(Java实现)

大家在登陆qq的时候,电脑上登陆了qq,如果另一台机器上也登陆该qq账号,那么之前的qq账号会被挤下去。 我们现在用web的方式来做一个非常简单的演示。 先简单的说一下功能吧, 用户只有一个Us...
  • qq_29663071
  • qq_29663071
  • 2017年03月28日 22:33
  • 2520

Java WEB 简单 de 登录注册

登录注册功能实现 一、前言     近期写了一个简单地登录注册,是基于 java web 的;     涉及知识较简单,主要是数据库的连接,jsp 与 servlet 的使用等;   ...
  • niaonao
  • niaonao
  • 2016年04月05日 15:14
  • 5995
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 实现web 登陆
举报原因:
原因补充:

(最多只允许输入30个字)