java轻松玩转httpget和httppost
2024-08-27 10:11:58
废话不多少说,直接上代码
//get请求
public static void HttpClientGet(String url) throws Exception {
// 获取http客户端
CloseableHttpClient client = HttpClients.createDefault();
// 通过httpget方式来实现我们的get请求
HttpGet httpGet = new HttpGet(url);
// 通过client调用execute方法,得到我们的执行结果就是一个response,所有的数据都封装在response里面了
CloseableHttpResponse Response = client.execute(httpGet);
// 所有的响应的数据,也全部都是封装在HttpEntity里面
HttpEntity entity = Response.getEntity();
// 通过EntityUtils 来将我们的数据转换成字符串
String str = EntityUtils.toString(entity, "UTF-8");
// EntityUtils.toString(entity)
System.out.println(str);
// 关闭
Response.close();
} //post请求
public static void HttpClientPost(String url, String... args) throws Exception {
// 获取默认的请求客户端
CloseableHttpClient client = HttpClients.createDefault();
// 通过HttpPost来发送post请求
HttpPost httpPost = new HttpPost(url);
/*
* post带参数开始
*/
// 第三步:构造list集合,往里面丢数据
List<NameValuePair> list = new ArrayList<>();
BasicNameValuePair basicNameValuePair = new BasicNameValuePair("command", args[0]);
list.add(basicNameValuePair);
// 第二步:我们发现Entity是一个接口,所以只能找实现类,发现实现类又需要一个集合,集合的泛型是NameValuePair类型
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(list);
// 第一步:通过setEntity 将我们的entity对象传递过去
httpPost.setEntity(formEntity);
/*
* post带参数结束
*/
// HttpEntity
// 是一个中间的桥梁,在httpClient里面,是连接我们的请求与响应的一个中间桥梁,所有的请求参数都是通过HttpEntity携带过去的
// 通过client来执行请求,获取一个响应结果
CloseableHttpResponse response = client.execute(httpPost);
HttpEntity entity = response.getEntity();
String str = EntityUtils.toString(entity, "UTF-8");
System.out.println(str);
// 关闭
response.close();
}
最新文章
- PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 &;&; 将错误记录到指定的文件中
- Android网络编程系列 一 TCP/IP协议族之链路层
- 小白日记44:kali渗透测试之Web渗透-SqlMap自动注入(二)-sqlmap参数详解REQUEST
- 根据中国气象局提供的API接口实现天气查询
- PL/SQL — 变长数组
- jsp查询页面和结果页面在同一页面显示和交互
- 给Eclipse提速的7个技巧(转载的)
- JAVA中的break[标签]continue[标签]用法
- 07 Django REST Framework 解析器与渲染器
- 苹果手机的SB系列(2)为什么不能重命名?
- iOS证书申请及使用详细说明
- Android为TV端助力 eclipse出现感叹号的解决办法
- 『TensorFlow』函数查询列表_张量属性调整
- RobotFramework测试问题二:各种元素不能定位问题
- FinalizableReference, FinalizablePhantomReference, FinalizableReferenceQueue
- easyui datagrid列拖拽
- streamsets Processors 说明
- 基于mysql的基准测试
- 如何轻松学习C语言编程!
- Vue教程:计算属性computed与侦听器watch(三)
热门文章
- PorterDuffXfermodeMode.DST_IN
- vue+php接口
- Inventor2018专业版软件安装激活教程
- mysql通过binlog恢复删除数据
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_18-认证接口开发-接口开发-service
- 开启windows ping端口功能
- MySQL创建触发器样例
- css调用字体 没装微软雅黑,用css写@font-face让其能显示微软雅黑字体
- Python扫描器-常用库-Request
- Haar-like特征来龙去脉