HttpClient那些事儿
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那些事儿相关推荐
- spring客户端resttemplate/feign/httpclient调研
首先看下搜索引擎中的流行度 行 数量 spring resttemplate 13,300,000 spring feign 15,300,000 httpclient 47,600,000 按照往常 ...
- Java爬虫系列二:使用HttpClient抓取页面HTML
爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...
- 微信支付接入的那点事儿
本文来自作者 javen 在 GitChat 上分享「微信支付接入的那点事儿」,「阅读原文」查看交流实录 「文末高能」 编辑 | 嘉仔 前言 本次 Chat 中涉及到的图片.统计数据均来自于网络,截图 ...
- java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...
JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取) 发布时间:2018-05-18 16:41, 浏览次数:632 , 标签: JAVA HttpClien ...
- httpclient工具类,post请求发送json字符串参数,中文乱码处理
在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的.可是在使用httpclient发送post请求报文含中文 ...
- 关于HttpClient上传中文乱码的解决办法
使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...
- webassembly类型_WebAssembly 那些事儿
WebAssembly 那些事儿 什么是 WebAssembly? WebAssembly 是除 JavaScript 以外,另一种可以在网页中运行的编程语言,并且相比之下在某些功能和性能问题上更具优 ...
- java url json字符串_使用HttpClient将URL中的JSON查询字符串发送到Web服务(Java)
我有一个我建立的Web服务...我现在要做的是发送一个简单的请求,其中包含一个从Tapestry Web应用程序到该Web服务的json查询字符串.我四处搜索,大多数人都说使用Apache HttpC ...
- java rest httpclient_java http请求建议使用webClient,少用RestTemplate,不用HttpClient
简介: webClient:是Spring-webFlux包下的,非阻塞响应,最低java8支持函数式编程,性能好 RestTemplate:是Spring-webmvc包下的,满足RestFul原则 ...
最新文章
- CVPR 2022 | ConvNeXt - FAIR再探纯卷积结构的极限(优于Transformer)
- matlab基本操作--基本数学定义
- jquery 在div追加文本_前端技术--JQuery
- Teams Bot如何解析和发送 at 用户
- gradle使用maven_使用Gradle – 2019版从Travis可靠发布到Maven Central
- 分布式架构的王者?Kubernetes凭什么
- 用jdbc连接oracle的第一次经历
- Java讲课笔记26:File类
- 语音识别 | 从入门到精通的高效选择!
- 接口测试(二)--APP抓包
- mssql 获取自增列起始及增量
- DBSCAN聚类算法C++实现
- netdraw绘制网络结构图
- java实现美图秀秀的照片拼接功能(照片数量任意)
- VI,NDVI,EVI
- 求n边形周长的k等分点坐标(今日头条)
- 婚纱预订小程序开发,商家线上展示平台
- Python正则表达式写法
- java二重积分_《University Calculus》-chaper13-多重积分-二重积分的计算
- 《计算广告》学习笔记(二)