`
wuzijingaip
  • 浏览: 319129 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

httpclient访问需要登录才能访问的数据

阅读更多
package com.grkj.modules.tree.web.excel;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;

public class HttpClientTutorial {

	//登录URL
	private final static String URL1 = "xxx.com/username=xxx&password=xxx;
	//要访问数据
	private final static String URL2 = "xxx.com/getjession";

	public static void main(String args[]) {
		/* 创建HttpClient实例 */
		HttpClient client = new HttpClient();
		/* 创建一个post方法 */
		PostMethod postMethod = new PostMethod(URL1);
		PostMethod postMethod2 = new PostMethod(URL2);
		
		
		/* 执行post方法 */
		try {
			int statusCode = client.executeMethod(postMethod);
			int statusCode2 = client.executeMethod(postMethod2);//注意client 要和登录人client 就同一个,这是保持session的关键

			if (statusCode2 != HttpStatus.SC_OK) {
				System.err.println("Method failed: "
						+ postMethod2.getStatusLine());
			}

			/* 获得返回的结果 */
			byte[] responseBody = postMethod2.getResponseBody();

			System.out.println(new String(responseBody));

		} catch (HttpException e) {
			System.err.println("Fatal protocol violation: " + e.getMessage());
			e.printStackTrace();
		} catch (IOException e) {
			System.err.println("Fatal transport error: " + e.getMessage());
			e.printStackTrace();
		} finally {
			/* Release the connection. */
			postMethod.releaseConnection();

		}
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics