Java HttpClient使用
2015-07-15 23:08
489 查看
特性
基于标准、纯净的java语言。实现了Http1.0和Http1.1
以可扩展的面向对象的结构实现了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。
支持HTTPS协议。
通过Http代理建立透明的连接。
利用CONNECT方法通过Http代理建立隧道的https连接。
Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos认证方案。
插件式的自定义认证方案。
便携可靠的套接字工厂使它更容易的使用第三方解决方案。
连接管理器支持多线程应用。支持设置最大连接数,同时支持设置每个主机的最大连接数,发现并关闭过期的连接。
自动处理Set-Cookie中的Cookie。
插件式的自定义Cookie策略。
Request的输出流可以避免流中内容直接缓冲到socket服务器。
Response的输入流可以有效的从socket服务器直接读取相应内容。
在http1.0和http1.1中利用KeepAlive保持持久连接。
直接获取服务器发送的response code和 headers。
设置连接超时的能力。
基于标准、纯净的java语言。实现了Http1.0和Http1.1
以可扩展的面向对象的结构实现了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。
支持HTTPS协议。
通过Http代理建立透明的连接。
利用CONNECT方法通过Http代理建立隧道的https连接。
Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos认证方案。
插件式的自定义认证方案。
便携可靠的套接字工厂使它更容易的使用第三方解决方案。
连接管理器支持多线程应用。支持设置最大连接数,同时支持设置每个主机的最大连接数,发现并关闭过期的连接。
自动处理Set-Cookie中的Cookie。
插件式的自定义Cookie策略。
Request的输出流可以避免流中内容直接缓冲到socket服务器。
Response的输入流可以有效的从socket服务器直接读取相应内容。
在http1.0和http1.1中利用KeepAlive保持持久连接。
直接获取服务器发送的response code和 headers。
设置连接超时的能力。
package com.xyj.webshopping.web; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; /** * Created by q on 2015/7/15. */ public class HttpClientTest { /** * 发送get请求 */ public static void get(){ String url = "http://www.baidu.com"; CloseableHttpClient httpClient = HttpClients.createDefault(); // 创建httpGet HttpGet httpGet = new HttpGet(url); try { // 执行http get请求 CloseableHttpResponse httpResponse = httpClient.execute(httpGet); // 获取响应实体 HttpEntity httpEntity = httpResponse.getEntity(); System.out.println(EntityUtils.toString(httpEntity)); } catch (IOException e) { e.printStackTrace(); }finally { try { // 关闭链接 httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String args[]){ get(); } }
相关文章推荐
- Windows Azure 保留已存在的虚拟网络外网IP(云服务)
- HttpServletResponse对象(二)
- HttpServletResponse对象(一)
- centos 重启网站服务器 httpd
- java网络编程(1)
- Android网络框架-Volley(五) 使用Volley发送自定义Request
- 腾讯电脑管家(QQ电脑管家)劫持IE开始页至 http://guanjia.qq.com/comm-htdocs/quickaccess/ 的处理
- 黑马程序员_网络编程概述
- iOS 通过网络请求获取图片的下载歌曲
- linux系统网络命令(三)
- Http的GET和POST请求
- http权威指南笔记第二章URL
- Http协议原理(一)
- Network:socket发送http请求
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- WCF 托管在IIS中遇到Http的错误
- Android中使用Volley开源库进行Http网络请求(POST方式)
- 读《《图解TCP-IP》》有感
- Nginx 定义自己的 http 模块
- C#畅谈“网络电视”