2019独角兽企业重金招聘Python工程师标准>>>

HttpClient 是Apache下的子项目, 用来提供高效, 最新的,功能丰富的支持HTTP协议的客户端编程工具包, 并且支持HTTP协议

下面代码主要提供了HttpClient在实际项目中的应用:

package test;import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;public class HttpClientTest {public static void main(String[] args) throws Exception {
//        testGet("http://localhost:8080/platform/login");testPost("http://localhost:8080/platform/login");}public static void testGet(String url) {//创建一个默认的HttpClientHttpClient httpClient = new DefaultHttpClient();try {//以get方式请求网页HttpGet getMethod = new HttpGet(url);//打印请求地址System.out.println("executing request " + getMethod.getURI());//创建响应处理服务器响应内容ResponseHandler<String> responseHandler = new BasicResponseHandler();//执行请求并获取结果String responseBody = httpClient.execute(getMethod, responseHandler);System.out.println("--------------------------------");System.out.println(responseBody);System.out.println("--------------------------------");} catch (IOException e) {throw new RuntimeException("connection refuse error!");}finally {//当不需要HttpClient实例时, 关闭连接管理器以确保释放系统资源httpClient.getConnectionManager().shutdown();}}public static void testPost(String url) {//创建一个默认的HttpClientHttpClient httpClient = new DefaultHttpClient();try {//以post方式请求网页HttpPost postMethod = new HttpPost(url);//添加HTTP POST参数List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();nameValuePairList.add(new BasicNameValuePair("username", "admin"));nameValuePairList.add(new BasicNameValuePair("password", "admin"));//将POST参数以UTF-8编码并包装成表单实体对象postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairList, "UTF-8"));//打印请求地址System.out.println("executing request " + postMethod.getRequestLine().getUri());//创建响应处理服务器响应内容ResponseHandler<String> responseHandler = new BasicResponseHandler();//执行请求并获取结果String responseBody = httpClient.execute(postMethod, responseHandler);System.out.println("--------------------------------------");System.out.println(responseBody);System.out.println("--------------------------------------");} catch (Exception e) {e.printStackTrace();}finally {//当不需要HttpClient实例时, 关闭连接管理器以确保释放系统资源httpClient.getConnectionManager().shutdown();}}
}

转载于:https://my.oschina.net/chenxiaobian/blog/637877

HttpClient那些事儿相关推荐

  1. spring客户端resttemplate/feign/httpclient调研

    首先看下搜索引擎中的流行度 行 数量 spring resttemplate 13,300,000 spring feign 15,300,000 httpclient 47,600,000 按照往常 ...

  2. Java爬虫系列二:使用HttpClient抓取页面HTML

    爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...

  3. 微信支付接入的那点事儿

    本文来自作者 javen 在 GitChat 上分享「微信支付接入的那点事儿」,「阅读原文」查看交流实录 「文末高能」 编辑 | 嘉仔 前言 本次 Chat 中涉及到的图片.统计数据均来自于网络,截图 ...

  4. java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...

    JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取) 发布时间:2018-05-18 16:41, 浏览次数:632 , 标签: JAVA HttpClien ...

  5. httpclient工具类,post请求发送json字符串参数,中文乱码处理

    在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的.可是在使用httpclient发送post请求报文含中文 ...

  6. 关于HttpClient上传中文乱码的解决办法

    使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...

  7. webassembly类型_WebAssembly 那些事儿

    WebAssembly 那些事儿 什么是 WebAssembly? WebAssembly 是除 JavaScript 以外,另一种可以在网页中运行的编程语言,并且相比之下在某些功能和性能问题上更具优 ...

  8. java url json字符串_使用HttpClient将URL中的JSON查询字符串发送到Web服务(Java)

    我有一个我建立的Web服务...我现在要做的是发送一个简单的请求,其中包含一个从Tapestry Web应用程序到该Web服务的json查询字符串.我四处搜索,大多数人都说使用Apache HttpC ...

  9. java rest httpclient_java http请求建议使用webClient,少用RestTemplate,不用HttpClient

    简介: webClient:是Spring-webFlux包下的,非阻塞响应,最低java8支持函数式编程,性能好 RestTemplate:是Spring-webmvc包下的,满足RestFul原则 ...

最新文章

  1. CVPR 2022 | ConvNeXt - FAIR再探纯卷积结构的极限(优于Transformer)
  2. matlab基本操作--基本数学定义
  3. jquery 在div追加文本_前端技术--JQuery
  4. Teams Bot如何解析和发送 at 用户
  5. gradle使用maven_使用Gradle – 2019版从Travis可靠发布到Maven Central
  6. 分布式架构的王者?Kubernetes凭什么
  7. 用jdbc连接oracle的第一次经历
  8. Java讲课笔记26:File类
  9. 语音识别 | 从入门到精通的高效选择!
  10. 接口测试(二)--APP抓包
  11. mssql 获取自增列起始及增量
  12. DBSCAN聚类算法C++实现
  13. netdraw绘制网络结构图
  14. java实现美图秀秀的照片拼接功能(照片数量任意)
  15. VI,NDVI,EVI
  16. 求n边形周长的k等分点坐标(今日头条)
  17. 婚纱预订小程序开发,商家线上展示平台
  18. Python正则表达式写法
  19. java二重积分_《University Calculus》-chaper13-多重积分-二重积分的计算
  20. 《计算广告》学习笔记(二)

热门文章

  1. 电子开发网---一个硬件很好的网站
  2. win10下添加ssh服务
  3. 在线JSON转flow工具
  4. 在线字符串长度计算,字符串统计工具
  5. [雪峰磁针石博客]数据仓库快速入门教程1简介
  6. 多台Linux服务器SSH相互访问无需密码
  7. 51nod1574排列转换
  8. 系统调用-文件访问 创建、打开、关闭、读、写
  9. 关于BeanUtils.copyProperties的用法和优缺点
  10. Lucene 的索引文件锁原理