HttpClient工具类的使用
2024-09-06 17:13:05
package com.hourui.gmall.util; import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; public class HttpclientUtil { public static String doGet(String url) {
// 创建Httpclient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建http GET请求
HttpGet httpGet = new HttpGet(url);
CloseableHttpResponse response = null;
try {
// 执行请求
response = httpclient.execute(httpGet);
// 判断返回状态是否为200
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
EntityUtils.consume(entity);
httpclient.close();
return result;
}
httpclient.close();
}catch (IOException e){
e.printStackTrace();
return null;
}
return null;
} public static String doPost(String url, Map<String,String> paramMap) {
// 创建Httpclient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建http Post请求
HttpPost httpPost = new HttpPost(url);
CloseableHttpResponse response = null;
try {
List<BasicNameValuePair> list=new ArrayList<>();
for (Map.Entry<String, String> entry : paramMap.entrySet()) {
list.add(new BasicNameValuePair(entry.getKey(),entry.getValue())) ;
}
HttpEntity httpEntity=new UrlEncodedFormEntity(list,"utf-8"); httpPost.setEntity(httpEntity);
// 执行请求
response = httpclient.execute(httpPost); // 判断返回状态是否为200
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
EntityUtils.consume(entity);
httpclient.close();
return result;
}
httpclient.close();
}catch (IOException e){
e.printStackTrace();
return null;
} return null;
}
}
最新文章
- java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)
- template.js遍历对象的写法
- DataInputStream类和RandomAccessFile类的使用方法
- Mysql查询大表出现的一个错误
- 算法打基础——HashTable
- CUDA开发存储器运用(包括存储器之间的转存)
- 在线GET/POST API接口请求模拟测试工具
- PHP. 03 .ajax传输XML、 ajax传输json、封装
- DES、3DES、AES加密方式
- JavaScript代码优化
- hdu1394逆序数(线段树)
- 【论文笔记】Dynamic Routing Between Capsules
- 使用Metasploit渗透攻击windows系统(二)
- git保存用户名和密码
- 线段树(segment tree)
- OOAD之单例模式Singleton的6种写法
- 深层神经网络框架的python实现
- 注册表操作的几个windows api
- js正则表达式基本语法
- 微信小程序 尺寸单位px与rpx之间的转换(入门篇)
热门文章
- H3C 寻找邻居
- H5 多媒体标签
- window 系统下修改`CMD`的编码格式的方法,`CHCP` 的 使用
- java 标准流
- PHP mysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理
- 浅谈javaScript数据类型、变量、内存之间的关系,文末有图解
- vue的路由带参数和取参数,watch路由监听
- 【35.12%】【POJ 1988】Cube Stacking
- Delta Lake源码分析
- Laravel -- Excel 导入(import) (v2.1.0)