httpclient简单应用,登录开心网的例子
需要用到的java包
commons-httpclient-3.1.jar
commons-logging.jar
log4j-1.2.15.jar
commons-codec.jar
很简单,没什么好说的,直接上代码:
package httpclienttest;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
public class LoginKaixin {
private static final String LOGON_SITE = "http://www.kaixin001.com";
private static final int LOGON_PORT = 80;
public static void main(String[] args)throws Exception {
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT);
//登录页面
PostMethod post = new PostMethod("http://www.kaixin001.com/login/login.php");
NameValuePair ie = new NameValuePair("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
NameValuePair url = new NameValuePair("url", "/home/");
NameValuePair username = new NameValuePair("email","xxx@163.com");
NameValuePair password = new NameValuePair("password", "xxxxxx");
post.setRequestBody(new NameValuePair[] { ie,url,username, password});
client.executeMethod(post);
System.out.println("******************************登录******************************");
Cookie[] cookies = client.getState().getCookies();
client.getState().addCookies(cookies);
post.releaseConnection();
System.out.println("******************************页面转向******************************");
String newUrl="http://www.kaixin001.com/home/";
System.out.println("==========Cookies============");
int i=0;
for(Cookie c:cookies){
System.out.println(++i+": "+c);
}
client.getState().addCookies(cookies);
post.releaseConnection();
GetMethod get = new GetMethod(newUrl);
get.setRequestHeader("Cookie", cookies.toString());
client.executeMethod(get);
String responseString = get.getResponseBodyAsString();
//登录后首页的内容
System.out.println(responseString);
get.releaseConnection();
System.out.println("******************************组件功能******************************");
//"http://www.kaixin001.com/!slave/index.php", "朋友买卖"
//"http://www.kaixin001.com/!parking/index.php", "争车位"
//"http://www.kaixin001.com/!house/index.php?_lgmode=pri", "买房子"
//http://www.kaixin001.com/!house/index.php?_lgmode=pri&t=49
//"http://www.kaixin001.com/!house/garden/index.php","花园"
//(1)进入朋友买卖****************
System.out.println("******************************(1)进入朋友买卖******************************");
String slave="http://www.kaixin001.com/!slave/index.php";
get = new GetMethod(slave);
get.setRequestHeader("Cookie", cookies.toString());
client.executeMethod(get);
responseString = get.getResponseBodyAsString();
System.out.println(responseString);
get.releaseConnection();
//(2)进入争车位****************
System.out.println("******************************(2)进入争车位******************************");
String parking="http://www.kaixin001.com/!parking/index.php";
get = new GetMethod(parking);
get.setRequestHeader("Cookie", cookies.toString());
client.executeMethod(get);
responseString = get.getResponseBodyAsString();
System.out.println(responseString);
get.releaseConnection();
//(3)进入买房子****************
System.out.println("******************************(3)进入买房子*******************************");
String house="http://www.kaixin001.com/!house/index.php?_lgmode=pri&t=49";
get = new GetMethod(house);
get.setRequestHeader("Cookie", cookies.toString());
client.executeMethod(get);
responseString = get.getResponseBodyAsString();
System.out.println(responseString);
get.releaseConnection();
//(4)进入花园****************
System.out.println("******************************(4)进入花园*******************************");
String garden="http://www.kaixin001.com/!house/garden/index.php";
get = new GetMethod(garden);
get.setRequestHeader("Cookie", cookies.toString());
client.executeMethod(get);
responseString = get.getResponseBodyAsString();
System.out.println(responseString);
get.releaseConnection();
}
}
分享到:
相关推荐
在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
下面我们将详细探讨如何在Java中使用HttpClient来实现这一目标。 首先,我们需要导入必要的Apache HttpClient库,通常包含以下依赖: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient ...
接下来,`HttpClientUtil.java`文件可能是实现HttpClient工具类,提供一个静态方法来创建和初始化HttpClient实例。这个方法可能包含以下步骤: 1. 创建一个CloseableHttpClient实例,通常使用HttpClientBuilder构建...
java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_HttpClient学习,和解析htmljava_HttpClient学习,和解析html java_...
"JAVA利用HttpClient进行POST请求(HTTPS)" JAVA HttpClient是Apache软件基金会提供的一个开源实现HTTP客户端的Java库,能够帮助开发者轻松地与HTTP服务器进行交互。在实际项目中,我们经常需要使用HttpClient来发送...
在这个特定的场景中,我们利用HttpClient来从指定的URL下载文件到本地。以下是对这个主题的详细阐述: 1. **HttpClient介绍**: HttpClient是一个Java库,支持HTTP/1.1协议以及部分HTTP/2特性。它提供了一组高级...
httpclient常用封装工具 doGet(String url, Map, String> param) doPost(String url, Map, String> param) doPostJson(String url, String json)
这个样例项目旨在帮助初学者理解如何在Java中使用HttpClient来与Web服务器进行交互。 在JavaHttpProject这个项目中,你可以找到以下关键知识点: 1. **HttpClient的创建**:首先,你需要创建一个HttpClient实例。...
在Java项目中,使用HttpClient可以实现与Web服务器的高效通信。下面将详细介绍这12个jar包的作用及其在HttpClient中的功能: 1. `commons-beanutils-1.8.0.jar`: Apache Commons BeanUtils库提供了对Java Beans属性...
java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient 工具类 java httpClient ...
至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...
Java HttpClient是Apache软件基金会的Apache HTTP Components项目中的一个核心组件,它提供了一个强大的、高度可定制的客户端HTTP通信API。这个工具广泛应用于Java开发者中,用于执行HTTP请求,获取响应,处理各种...
用java实现httpclient请求的类
在Java编程中,Apache HttpClient库是一个非常重要的工具,它提供了丰富的功能来执行HTTP请求,包括GET、POST等方法。这个库使得开发者能够方便地与Web服务器进行交互,处理各种HTTP协议相关的任务。在标题和描述中...
1.高效简单池化的HttpClient工具类,提供单元测试用列。 2.支持基于SpringBoot 2.1.x的自动装载模块,引用依赖即可使用。 3.公司几十个项目都使用该工具类访问第三方的Http/Https+json协议接口。 4.经过上市公司多个...
本篇文章将详细介绍如何使用Java的HttpClient实现异步请求资源。 首先,让我们了解什么是异步请求。在同步请求中,调用一个API或发送一个HTTP请求后,程序会等待响应返回,然后继续执行后续代码。而异步请求则不同...
Java模拟淘宝登录源码是一种常见的网络编程技术,主要用于自动化测试、数据抓取或者模拟用户行为。在这个场景中,我们使用的工具是HTTPClient库,这是一个强大的Java HTTP客户端应用编程接口,可以方便地处理HTTP...
java代码-使用java解决HttpClientUtil的源代码 ——学习参考资料:仅用于个人学习使用!
标题中的“用httpclient写的登录开心网”表明我们将探讨如何使用Apache HttpClient库来实现对开心网的模拟登录。HttpClient是一个Java库,它提供了强大的HTTP客户端功能,包括发起HTTP请求、处理响应以及管理会话等...
在实际开发中,我们常常利用HttpClient与其他服务进行交互,如API调用、数据同步等。 总之,Java中的HttpClient是一个强大且灵活的HTTP客户端工具,它使得网络通信变得更加简单。通过阅读源码和编写测试用例,我们...