Java的HTTP协议库 HttpComponents

码农软件 · 软件分类 · 网络工具包 · 2019-03-04 08:42:42

软件介绍

HttpComponents 也就是以前的httpclient项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端/服务器编程工具包,并且它支持 HTTP 协议最新的版本和建议。不过现在的 HttpComponents 包含多个子项目,有:

  • HttpComponents Core

  • HttpComponents Client
  • HttpComponents AsyncClient
  • Commons HttpClient

以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。

  • 实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)

  • 支持自动转向

  • 支持 HTTPS 协议

  • 支持代理服务器等

  • 支持Cookie

HttpClient 示例代码:

DefaultHttpClient httpclient = new DefaultHttpClient();
try {
	HttpGet httpget = new HttpGet("https://portal.sun.com/portal/dt");

	HttpResponse response = httpclient.execute(httpget);
	HttpEntity entity = response.getEntity();

	System.out.println("Login form get: " + response.getStatusLine());
	EntityUtils.consume(entity);

	System.out.println("Initial set of cookies:");
	List<Cookie> cookies = httpclient.getCookieStore().getCookies();
	if (cookies.isEmpty()) {
		System.out.println("None");
	} else {
		for (int i = 0; i < cookies.size(); i++) {
			System.out.println("- " + cookies.get(i).toString());
		}
	}

	HttpPost httpost = new HttpPost("https://portal.sun.com/amserver/UI/Login?" +
			"org=self_registered_users&" +
			"goto=/portal/dt&" +
			"gotoOnFail=/portal/dt?error=true");

	List <NameValuePair> nvps = new ArrayList <NameValuePair>();
	nvps.add(new BasicNameValuePair("IDToken1", "username"));
	nvps.add(new BasicNameValuePair("IDToken2", "password"));

	httpost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));

	response = httpclient.execute(httpost);
	entity = response.getEntity();

	System.out.println("Login form get: " + response.getStatusLine());
	EntityUtils.consume(entity);

	System.out.println("Post logon cookies:");
	cookies = httpclient.getCookieStore().getCookies();
	if (cookies.isEmpty()) {
		System.out.println("None");
	} else {
		for (int i = 0; i < cookies.size(); i++) {
			System.out.println("- " + cookies.get(i).toString());
		}
	}

} finally {
	// When HttpClient instance is no longer needed,
	// shut down the connection manager to ensure
	// immediate deallocation of all system resources
	httpclient.getConnectionManager().shutdown();
}

本文地址:https://www.codercto.com/soft/d/587.html

Design for Hackers

Design for Hackers

David Kadavy / Wiley / 2011-10-18 / USD 39.99

Discover the techniques behind beautiful design?by deconstructing designs to understand them The term ?hacker? has been redefined to consist of anyone who has an insatiable curiosity as to how thin......一起来看看 《Design for Hackers》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具