`

HttpClient4登陆ITeye

 
阅读更多
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;

public class Main {
	public static void main(String[] args) throws ClientProtocolException,
			IOException {
		HttpClient httpClient = new DefaultHttpClient();

		List<NameValuePair> formparams = new ArrayList<NameValuePair>();
		formparams.add(new BasicNameValuePair("name", "caiwenhn2008"));
		formparams.add(new BasicNameValuePair("password", "这个不能说"));
		UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,
				"UTF-8");

		HttpPost httppost = new HttpPost("http://caerun.iteye.com/login");
		httppost.setEntity(entity);
		HttpContext localContext = new BasicHttpContext();

		HttpResponse response2 = httpClient.execute(httppost, localContext);
		int statusCode = response2.getStatusLine().getStatusCode();
		System.out.println("statusCode:" + statusCode);
		System.out.println(EntityUtils.toString(response2.getEntity(),"UTF-8"));
		EntityUtils.consume(response2.getEntity());
		
		
		if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
				|| statusCode == HttpStatus.SC_MOVED_TEMPORARILY
				|| statusCode == HttpStatus.SC_SEE_OTHER
				|| statusCode == HttpStatus.SC_TEMPORARY_REDIRECT) {
			String newUrl = response2.getLastHeader("Location").getValue();
			System.out.println("从新定向的页面为:" + newUrl);

			HttpGet get = new HttpGet(newUrl);
			HttpEntity entity2 = httpClient.execute(get, localContext)
					.getEntity();
			System.out.println(EntityUtils.toString(entity2,"UTF-8"));
			
			EntityUtils.consume(entity2);
		}
	}
}
分享到:
评论

相关推荐

    httpclient模拟登录实例

    4. **执行请求**:现在,我们有了完整的请求,可以使用HttpClient的execute方法发送它。 ```java CloseableHttpResponse response = httpClient.execute(httpPost); ``` 5. **处理响应**:执行请求后,我们需要...

    httpclient3 自动登陆淘宝, 开心网

    标题中的“httpclient3 自动登陆淘宝, 开心网”指的是使用Apache HttpClient 3.x库来实现自动化登录淘宝和开心网的功能。HttpClient是一个强大的HTTP客户端API,它允许开发者模拟浏览器行为,发送HTTP请求并接收...

    https+spring3+httpclient4多文件上传

    标题 "HTTPS + Spring3 + HttpClient4 多文件上传" 涉及到的是在Java开发环境中,使用Spring框架(具体到Spring3版本)与Apache HttpClient库(版本4)结合实现HTTPS安全连接下的多文件上传功能。这篇博文可能是博主...

    使用httpClient访问https+443端口号。

    描述中提到的链接指向了一个ITEYE博客文章,虽然内容没有给出,但通常这类文章会包含如何配置和使用HttpClient来发送HTTPS请求的具体步骤。在实际操作中,我们可能需要关注以下几点: 1. **导入依赖**:文件列表中...

    httpclient

    标题中的“httpclient”指的是Apache HttpClient,这是一个广泛使用的Java库,用于执行...如果你遇到具体的代码问题或需要深入理解某个特性,通常可以参考HttpClient的官方文档或在线社区(如ITEYE博客)中的经验分享。

    httpclient 获取技术博客列表

    描述中提到的“博文链接:https://change-jeans.iteye.com/blog/2222052”,这可能是一个具体的博客文章地址,该文章详细介绍了如何使用HttpClient进行操作。在这个链接中,作者可能会解释如何配置HttpClient,建立...

    HTTPClient 4.3.X

    描述中提到的链接指向了一个ITEYE博客,虽然内容未给出,但可以推测博主可能分享了关于使用HTTPClient 4.3.X的一些经验,可能包括配置,最佳实践,或者是遇到的问题及解决方案。 标签 "源码" 暗示我们可能会讨论到...

    httpclient 查询股票信息

    描述中提到的“博文链接:https://tristan-s.iteye.com/blog/1130983”,虽然没有直接提供具体实现细节,但通常这类博客文章会包含示例代码和步骤说明,教读者如何使用HTTPClient进行网络请求。通常,这会涉及创建...

    使用HttpClient登录网易邮箱

    使用HttpClient登录网易邮箱 博文链接:https://bps.iteye.com/blog/136231

    使用HTMLPARSER和HTTPCLIENT制作网络爬虫,附赠相关技术文档。

    在提供的链接中,有一篇名为"azure2a.iteye.com/blog/901363"的博客文章,它应该详细介绍了如何结合HTMLPARSER和HTTPCLIENT实现网络爬虫的具体步骤和代码示例。阅读这篇博客将有助于你深入理解这两个库的用法,并...

    Java中访问页面的HttpClient类

    这篇博客(原文链接:https://jxdwuao.iteye.com/blog/719107)将深入探讨如何使用HttpClient进行网页访问,并探讨其源码和工具特性。 一、HttpClient简介 HttpClient是一个功能强大且高度可定制的HTTP客户端实现,...

    HttpClient各种使用方法

    NULL 博文链接:https://wenkaixuan.iteye.com/blog/2109590

    HttpClient使用

    这篇博客文章《HttpClient使用》(链接:https://leesonhomme.iteye.com/blog/491095)可能涵盖了HttpClient的基本用法和一些实用技巧。由于没有具体的描述,我们将基于HttpClient的一般知识点进行详细介绍。 1. **...

    HttpURLConnection和HTTPClient的比较,以及使用规则

    NULL 博文链接:https://xiaowei-qi-epro-com-cn.iteye.com/blog/1973295

    关于android使用httpclient上传的问题

    NULL 博文链接:https://eagalwood.iteye.com/blog/2323296

Global site tag (gtag.js) - Google Analytics