一、httpclient项目有两种使用方式。一种是commons项目,这一个就只更新到3.1版本了。现在挪到了HttpComponents子项目下了,这里重点讲解HttpComponents下面的httpclient的使用方式。

二、加入jar包

  <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>

三、使用方式

1、GET方法

     //相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpGet httpGet = new HttpGet("http://www.baidu.com");
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpGet);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpGet.releaseConnection();

2、POST方法

     //需要传输的数据
Map<String,Object> map = new HashMap<String, Object>();
map.put("1", "1");
map.put("2", "2");
//谷歌的Gson
Gson gson = new Gson();
//相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpPost httpPost = new HttpPost("http://www.baidu.com");
//设置消息头
httpPost.setHeader("Content-Type","application/json;charset=utf-8");
httpPost.setHeader("Accept","application/json");
//设置发送数据(数据尽量为json),可以设置数据的发送时的字符集
httpPost.setEntity(new StringEntity(gson.toJson(map),"utf-8"));
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpPost);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpPost.releaseConnection();

3、PUT方式(和post的方式差不多)

     //需要传输的数据
Map<String,Object> map = new HashMap<String, Object>();
map.put("1", "1");
map.put("2", "2");
//谷歌的Gson
Gson gson = new Gson();
//相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpPut httpPut = new HttpPut("http://www.baidu.com");
//设置消息头
httpPut.setHeader("Content-Type","application/json;charset=utf-8");
httpPut.setHeader("Accept","application/json");
//设置发送数据(数据尽量为json),可以设置数据的发送时的字符集
httpPut.setEntity(new StringEntity(gson.toJson(map),"utf-8"));
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpPut);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpPut.releaseConnection();

4、DELETE方法(这种方式和get方式差不多,但是限定类型不一样)

     //相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpDelete httpDelete = new HttpDelete("http://www.baidu.com");
//设置消息头(这里可以根据自己的接口来设定消息头)
httpDelete.setHeader("Content-Type","application/json;charset=utf-8");
httpDelete.setHeader("Accept","application/json");
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpDelete);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpDelete.releaseConnection();

四、这基本上就是httpclient的使用方法了,当然在这个只是简单的例子,实际的还是要在具体的生产环境中自己封装使用。

httpclient的几种请求URL的方式的更多相关文章

  1. HttpClient的几种请求方式

    public static String doPostToken(String tokenUrl,String clientId,String clientSecret,String grantTyp ...

  2. 一种解决url的get请求参数传值乱码问题的方式

    做项目的时候发现url get请求传中文字符出现乱码问题,百度了一下,最后用一种比较容易理解的方式解决了.分享给大家! 经过百度,网友提到:url get方式提交的参数编码,只支持iso8859-1编 ...

  3. httpclient几种请求方式

    一.httpclient 模拟get请求,并获取cookie信息 public class MyCookiesForGet { private String url; //用来读取.propertie ...

  4. HttpwebClient的四种请求方式

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.      本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...

  5. Ajax中的get和post两种请求方式的异同

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.   1. get是把参数数据队列加到提交表单的A ...

  6. jQuery中的Ajax几种请求方式

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  7. 转:Ajax中的get和post两种请求方式的异同

    1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...

  8. Ajax的get和post两种请求方式区别

    Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列 ...

  9. http的几种请求的方式(Get、Post、Put、Head、Delete、Options、Trace和Connect)

    http的这几种请求方式各有各的特点,适用于各自的环境.下面我就说说这些方式的各自特点: 1.Get:它的原理就是通过发送一个请求来取得服务器上的某一资源.获取到的资源是通过一组HTTP头和呈现数据来 ...

随机推荐

  1. p4c-bm安装

    Generates the JSON configuration for the behavioral-model (bmv2).它是用来形成 行为模型BMV2 的 JSON配置 的. Importa ...

  2. 51Nod 1686 第K大区间(离散化+尺取法)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1686 题意: 思路: 第K大值,所以可以考虑二分法,然后用尺取法去扫描, ...

  3. 经典线程同步问题(生产者&消费者)--Java实现

    生产者-消费者(producer-consumer)问题是一个著名的线程同步问题.它描述的是:有一群生产者线程在生产产品,并将这些产品提供给消费者线程去消费. 为使生产者与消费者之间能够并发执行,在两 ...

  4. Linux 下升级JDK 1.7到1.8

    1.下载1.8的jdk rpm文件到linux系统 2.执行rpm -ivh jdk-8u151-linux-x64.rpm 选项详解: -a:查询所有套件: -b<完成阶段><套件 ...

  5. IOS-组件化架构漫谈

    本文作者: 伯乐在线 - 刘小壮 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目

  6. canvas实现的时钟效果

    最近在网上看到了一个css3实现的可爱时钟,觉得很nice,然后就想着用canvas试试实现这个时钟效果. 首先,要实现时钟需要先计算时钟上的数字应该占整个圆的大小. 因为一个圆是360度,所以数字之 ...

  7. EPANET头文件解读系列7——MEMPOOL.H

    //EPANET应用程序使用了大量的节点与管段数据,而且每个对象数据又有不同时段的数据,这些数据占用了大量内存,而mempool.h就是一个简单快速的内存分配相关的头文件/***  mempool.h ...

  8. Zynq软硬件协同设计 总结一

    1.Xilinx在2012年推出了新一代的开发工具Vivado开发套件,目前的7系列FPGA既可以用以往的ISE或者XPS进行开发,也可以使用Vivado(为瓦度),而6系列等以前的产品智能使用ISE ...

  9. 基于Open XML 导出数据到Excel

    数据导出的结果: 步骤1.新建一个Excel 文档,模板根据自己需要设置 步骤2.使用OpenXml  打开Excel 文件 步骤3.点击ReflectCode 功能,生成相应的代码文档 using ...

  10. 建造者模式 build

    引出建造者模式: package com.disign.build; /** * Created by zhen on 2017-05-19. */ public class BuildPersonT ...