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

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));
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics