HttpComponents Java的HTTP协议库开源项目

我要开发同款
匿名用户2008年09月14日
29阅读
开发技术Java
所属分类程序开发、网络工具包
授权协议Apache

作品详情

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

HttpComponentsCore

HttpComponentsClientHttpComponentsAsyncClientCommonsHttpClient

以下列出的是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 resourceshttpclient.getConnectionManager().shutdown();}

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论