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://codercto.com/soft/d/587.html

Effective JavaScript

Effective JavaScript

David Herman / Addison-Wesley Professional / 2012-12-6 / USD 39.99

"It's uncommon to have a programming language wonk who can speak in such comfortable and friendly language as David does. His walk through the syntax and semantics of JavaScript is both charming and h......一起来看看 《Effective JavaScript》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器