`
baorui945
  • 浏览: 7649 次
社区版块
存档分类
最新评论

httpclient demo 登陆

    博客分类:
  • tips
阅读更多
使用httpclient完成简单web登陆demo


import java.util.ArrayList;
import java.util.List;

import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ResponseHandler;
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.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

public class DemoLogin2 {
	private static String userName = "xxx";
	private static String password = "xxx";
	private static String LoginURL = "http://xxx.xxx.xxx/loginAjax.do";
	private HttpResponse response;
	private DefaultHttpClient httpclient = new DefaultHttpClient();
	private	String redirectLocation ;
	private void login() {
		HttpPost httpost = new HttpPost(LoginURL);
		// All the parameters post to the web site
		List<NameValuePair> nvps = new ArrayList<NameValuePair>();
		nvps.add(new BasicNameValuePair("passport", userName));
		nvps.add(new BasicNameValuePair("password", password));
		try {
			httpost.setEntity(new UrlEncodedFormEntity(nvps));
			response = httpclient.execute(httpost);
			
		} catch (Exception e) {
			e.printStackTrace();

		} finally {
			httpost.abort();
		}
	}
	
	private String getRedirectLocation() {  
        Header locationHeader = response.getFirstHeader("Location");  
        if (locationHeader == null) {  
            return null;  
        }  
        System.out.println(locationHeader.getValue().toString());
        return locationHeader.getValue();  
    }
	
	private String getText(String redirectLocation) {  
        HttpGet httpget = new HttpGet(redirectLocation);  
        // Create a response handler  
        ResponseHandler<String> responseHandler = new BasicResponseHandler();  
        String responseBody = "";  
        try {  
            responseBody = httpclient.execute(httpget, responseHandler);  
        } catch (Exception e) {  
            e.printStackTrace();  
            responseBody = null;  
        } finally {  
            httpget.abort();  
            httpclient.getConnectionManager().shutdown();  
        }  
        return responseBody;  
    }
	public static void main(String[] args) {  
		DemoLogin2 demo = new DemoLogin2();  
		demo.login();
		demo.redirectLocation = demo.getRedirectLocation();
		System.out.println(demo.getText(demo.redirectLocation));
    }
}
分享到:
评论

相关推荐

    httpclient Demo 案例 含jar

    在这个“httpclient Demo 案例 含jar”中,我们将深入探讨如何使用HttpClient来处理POST请求时传递参数的字符原样问题,即避免参数被自动处理或转换。 HttpClient 4.5版本是一个稳定且广泛使用的版本,它包含了各种...

    android httpclient demo

    在"android httpclient demo"项目中,我们可以看到以下关键文件: - `.classpath`:包含项目的类路径信息,用于构建和运行。 - `AndroidManifest.xml`:定义应用的基本信息,如权限、活动、服务等。在这个例子中,...

    HttpClient Demo

    这个"HttpClient Demo"工程应该包含了示例代码,展示了如何使用HttpClient进行HTTP通信。你可以从中学习到HttpClient的基本用法和高级特性,并在自己的项目中应用这些知识。通过阅读和运行这些示例,你可以更好地...

    Apache HttpClient Demo

    在阅读"Apache HttpClient Demo"这篇博客时,应重点关注示例代码,理解如何初始化HttpClient,构建请求,设置参数,发送请求,以及解析和处理响应。此外,还可以学习如何优化配置,如调整连接池大小,设置合适的超...

    C# httpclient demo

    标题"C# httpClient demo"指的是一个使用C#编程语言编写的示例代码,它演示了如何使用HttpClient类进行网络请求。HttpClient是.NET Framework 4.5及更高版本中的一个类,用于处理HTTP通信,是现代、异步且高效的HTTP...

    httpclient Demo

    HttpClient是Apache基金会开发的一个HTTP客户端库,用于在Java应用程序中执行HTTP请求。...通过学习这个Demo,你可以深入理解HttpClient的用法,以及它如何与其他库如DOM4J配合工作,增强你的网络编程能力。

    httpClient完整请求Demo

    HttpClient是Apache基金会开发的一个Java库,用于执行HTTP请求。...本示例将深入讲解如何使用HttpClient进行完整的HTTP请求,同时结合JSON数据处理,因为"json...希望这个Demo能帮助你在实际项目中更好地运用HttpClient。

    HttpClient的简单demo

    这是一个android的HttpClient简单demo,实现了post与get两种方式,包括完整的客户端和服务器端程序,数据库采用的是MySql数据库,数据库部分请用户自己完成,都是最简单的,我已经测试通过,这是我一天的成果,参考...

    HttpClient_Demo

    HttpClient是Java中用于发送HTTP请求的一个重要库,它允许开发者...HttpClient_Demo项目应包含一个或多个Java源文件,演示了上述知识点的实际应用,通过阅读和运行这些代码,可以更深入地理解HttpClient的使用方法。

    httpclient(springboot)demo

    本篇将详细介绍如何在Spring Boot项目中整合HttpClient,以及这个整合的示例(demo)所涉及的关键知识点。 首先,让我们理解Spring Boot与HttpClient的整合过程: 1. **添加依赖**:在`pom.xml`文件中,你需要引入...

    httpclient调用接口demo

    本demo有两个例子test是作为服务端开启的,httpclient是客户端调用的,模拟服务端的test在启动后是没有界面的,要加上id才能看到json数据,httpclient的HttpClient33.java是测试类,最后的结果是接受到一个对象。...

    httpclient4.3登陆人人

    标题中的“httpclient4.3登陆人人”指的是使用Apache HttpClient 4.3版本实现对人人网的自动登录功能。HttpClient是一个流行的开源Java库,它允许开发者执行HTTP请求并处理响应,广泛应用于网络爬虫、自动化测试和...

    jersery RestFul web service工程 应用了httpClient demo以及日志操作源码和java 动态反射机制

    jersery RestFull web service工程 应用了httpClient demo以及日志操作源码和java 动态反射机制 整个工程用来对外提供一个简化的ceph云存储服务器的restful api 同时工程作为 学习jersery 以及简单的统一日志管理 ...

    Jsoup+httpclient模拟登陆和抓取页面.pdf

    Jsoup+httpclient模拟登陆和抓取页面.pdf

    httpClient4.3 Jar包 demo

    在这个"httpClient4.3 Jar包 demo"中,你将找到HttpClient 4.3的jar文件以及相关的示例代码,对于学习和理解HttpClient的使用非常有帮助。 HttpClient 4.3主要知识点包括: 1. **基础概念**: - **HttpClient对象...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    在这个场景中,我们关注的是如何使用`httpclient`进行模拟登录并携带cookie来访问后续的URL。这个过程通常涉及到处理session和身份验证,对于开发需要登录功能的Web应用或自动化测试脚本尤其有用。 首先,`...

    HttpClient抓取网页Demo

    在本文中,我们将深入探讨HttpClient的基本用法,以及如何使用它来抓取网页内容。 首先,你需要在项目中引入HttpClient的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org....

    HttpClient模拟登陆方正系统

    在本文中,我们将深入探讨如何使用HttpClient来模拟登录方正系统,以及在此基础上开发类似“课程格子”这样的应用。 一、HttpClient简介 HttpClient是一个支持HTTP协议的客户端编程工具,支持HTTP/1.1及其后续版本...

    HttpClient模拟登陆

    在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...

    Jsoup+httpclient 模拟登陆和抓取

    Jsoup+httpclient 模拟登录和抓取知识点: 1. Jsoup库使用介绍: - Jsoup是一个Java的HTML解析器,能够直接解析HTML文档,提供类似于jQuery的操作方法。 - 主要功能包括从URL、文件或字符串中解析HTML,使用DOM或...

Global site tag (gtag.js) - Google Analytics