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(); |
String cookieVal = hc.getHeaderField("Set-Cookie"); |
sessionId = cookieVal.substring(0, cookieVal.indexOf(";")); |
}
HttpURLConnection huc= (HttpURLConnection) url.openConnection(); |
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(); |
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 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
Java模拟淘宝登录源码是一种常见的网络编程技术,主要用于自动化测试、数据抓取或者模拟用户行为。在这个场景中,我们使用的工具是HTTPClient库,这是一个强大的Java HTTP客户端应用编程接口,可以方便地处理HTTP...
Java模拟登录的关键步骤包括: 1. **构建HTTP请求**:使用像`HttpURLConnection`或者第三方库如`Apache HttpClient`或`OkHttp`,创建一个指向登录页面的POST请求。你需要设置请求头,比如`Content-Type`通常设为`...
本项目名为"Java模拟登录百度Demo",旨在通过Java编程语言实现对百度网站的自动登录功能。在这个教程中,我们将深入探讨如何使用Java来完成这一目标。 首先,模拟登录的核心是发送HTTP请求。在Java中,我们可以使用...
Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例...本示例可以帮助开发者快速了解 Java 模拟 Cookie 登陆的实现原理和实现方法,为实际开发中提供了有价值的参考。
【Java模拟QQ登录空间】是Java编程领域中的一个实践项目,主要目的是通过编程技术实现对QQ空间的模拟登录。这个项目对于学习Java网络编程、HTTP协议、JSON解析以及网络安全等多方面知识具有重要意义。 首先,Java是...
用java模拟访问浏览网站的代码,可以输出各种网页属性,以及html源代码
6. **实战应用**:在压缩包中的`HtmlParse`文件中,可能包含了示例代码,演示了如何结合JSOUP和Java的网络请求功能实现模拟登录。通过阅读和理解这段代码,你可以更深入地了解上述步骤的实际操作。 总的来说,Java...
Java实现模拟登录网站是一项常见的任务,特别是在自动化测试、数据抓取和网络爬虫等领域。以下是一些关于这个主题的关键知识点: 1. **网络请求库**:在Java中,`HttpURLConnection`是内置的HTTP客户端,但为了更...
总的来说,Java模拟微信Web登录平台是一个涉及网络编程、JSON处理、事件驱动编程等多个领域的技术挑战。通过ItChat4J这样的库,我们可以简化这个过程,快速地构建自己的微信机器人。记得在使用开源库时,遵循其许可...
总之,Java模拟线程并发是一个广泛且深入的话题,涵盖了线程的创建、同步、管理和高级并发工具的使用。理解和熟练应用这些知识,能够帮助开发者编写出高效、安全的多线程程序。在实际开发中,应根据具体需求选择合适...
这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们可以推测这是一个Java程序,用于模拟微信内置浏览器的行为。下面将详细介绍这个主题的相关知识点。 1. **Java HTTP ...
综上所述,这个Java项目利用Selenium结合若快平台的OCR服务,实现了对58同城网站的模拟登录,覆盖了自动化测试、验证码识别以及动态交互等多个方面,对于理解和应用Web自动化测试有很好的参考价值。
这个"java模拟键盘鼠标"的项目,从描述来看,主要是用于批量登录QQ账号,这涉及到Java自动化控制的实现。下面我们将深入探讨相关的Java知识点。 1. **Java Robot类**: Java中的`java.awt.Robot`类是用于生成用户...