`

java模拟网站登录

    博客分类:
  • java
 
阅读更多

 

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

}



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

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

分享到:
评论

相关推荐

    java httpclient 模拟登录

    在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...

    java模拟淘宝登录源码

    Java模拟淘宝登录源码是一种常见的网络编程技术,主要用于自动化测试、数据抓取或者模拟用户行为。在这个场景中,我们使用的工具是HTTPClient库,这是一个强大的Java HTTP客户端应用编程接口,可以方便地处理HTTP...

    java 模拟登录(含验证码)

    Java模拟登录的关键步骤包括: 1. **构建HTTP请求**:使用像`HttpURLConnection`或者第三方库如`Apache HttpClient`或`OkHttp`,创建一个指向登录页面的POST请求。你需要设置请求头,比如`Content-Type`通常设为`...

    Java模拟登录百度Demo

    本项目名为"Java模拟登录百度Demo",旨在通过Java编程语言实现对百度网站的自动登录功能。在这个教程中,我们将深入探讨如何使用Java来完成这一目标。 首先,模拟登录的核心是发送HTTP请求。在Java中,我们可以使用...

    Java 模拟cookie登陆简单操作示例

    Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例...本示例可以帮助开发者快速了解 Java 模拟 Cookie 登陆的实现原理和实现方法,为实际开发中提供了有价值的参考。

    最新版java模拟QQ登录空间

    【Java模拟QQ登录空间】是Java编程领域中的一个实践项目,主要目的是通过编程技术实现对QQ空间的模拟登录。这个项目对于学习Java网络编程、HTTP协议、JSON解析以及网络安全等多方面知识具有重要意义。 首先,Java是...

    java模拟浏览器访问网站

    用java模拟访问浏览网站的代码,可以输出各种网页属性,以及html源代码

    JAVA 模拟网页是登录

    6. **实战应用**:在压缩包中的`HtmlParse`文件中,可能包含了示例代码,演示了如何结合JSOUP和Java的网络请求功能实现模拟登录。通过阅读和理解这段代码,你可以更深入地了解上述步骤的实际操作。 总的来说,Java...

    java实现模拟登录网站最全的资料

    Java实现模拟登录网站是一项常见的任务,特别是在自动化测试、数据抓取和网络爬虫等领域。以下是一些关于这个主题的关键知识点: 1. **网络请求库**:在Java中,`HttpURLConnection`是内置的HTTP客户端,但为了更...

    java模拟微信web登录平台

    总的来说,Java模拟微信Web登录平台是一个涉及网络编程、JSON处理、事件驱动编程等多个领域的技术挑战。通过ItChat4J这样的库,我们可以简化这个过程,快速地构建自己的微信机器人。记得在使用开源库时,遵循其许可...

    Java 模拟线程并发

    总之,Java模拟线程并发是一个广泛且深入的话题,涵盖了线程的创建、同步、管理和高级并发工具的使用。理解和熟练应用这些知识,能够帮助开发者编写出高效、安全的多线程程序。在实际开发中,应根据具体需求选择合适...

    java模拟微信浏览器访问.rar

    这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们可以推测这是一个Java程序,用于模拟微信内置浏览器的行为。下面将详细介绍这个主题的相关知识点。 1. **Java HTTP ...

    java使用Selenium模拟登陆58(验证码登陆&密码登陆)若快平台识别文字点击验证码Demo

    综上所述,这个Java项目利用Selenium结合若快平台的OCR服务,实现了对58同城网站的模拟登录,覆盖了自动化测试、验证码识别以及动态交互等多个方面,对于理解和应用Web自动化测试有很好的参考价值。

    java模拟键盘鼠标

    这个"java模拟键盘鼠标"的项目,从描述来看,主要是用于批量登录QQ账号,这涉及到Java自动化控制的实现。下面我们将深入探讨相关的Java知识点。 1. **Java Robot类**: Java中的`java.awt.Robot`类是用于生成用户...

Global site tag (gtag.js) - Google Analytics