java使用httpclient发送post请求示例

下面是关于 Java 使用 HttpClient 发送 POST 请求的完整攻略。

组件

在 Java 中发送 HTTP 请求,我们可以使用 Apache 的 HttpClient 组件,它提供了一系列的 API 帮助我们创建和发送请求。

在使用 HttpClient 组件之前,需要下载 HttpClient 组件的 jar 包,并将其添加到项目依赖中。

POST 请求

设置请求参数

发送 POST 请求需要设置请求参数,我们可以通过创建 Map 对象或者使用其他方式来设置请求参数,下面是以创建 Map 对象来设置请求参数的示例代码:

Map<String, String> params = new HashMap<>();
params.put("name", "张三");
params.put("age", "18");
params.put("sex", "男");

创建HttpPost对象

创建 HttpPost 对象,用于设置请求地址和请求参数:

HttpPost post = new HttpPost("http://localhost:8080/api/user");
post.setEntity(new UrlEncodedFormEntity(params, Charset.forName("UTF-8")));

发送请求并获取响应

使用 HttpClient 组件发送 HTTP 请求,然后获取响应结果:

CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
    HttpEntity entity = response.getEntity();
    String result = EntityUtils.toString(entity, Charset.forName("UTF-8"));
    System.out.println(result);
}

示例

下面我们来看一下两个发送 POST 请求的示例。

示例1

发送 JSON 格式的 POST 请求:

CloseableHttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost("http://localhost:8080/api/user");

Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("name", "张三");
jsonMap.put("age", "18");
jsonMap.put("sex", "男");

String jsonString = JSON.toJSONString(jsonMap);
StringEntity entity = new StringEntity(jsonString, ContentType.APPLICATION_JSON);
post.setEntity(entity);

CloseableHttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
    HttpEntity httpEntity = response.getEntity();
    String result = EntityUtils.toString(httpEntity, Charset.forName("UTF-8"));
    System.out.println(result);
}

示例2

发送 Form 格式的 POST 请求:

CloseableHttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost("http://localhost:8080/api/user");

Map<String, String> params = new HashMap<>();
params.put("name", "张三");
params.put("age", "18");
params.put("sex", "男");

post.setEntity(new UrlEncodedFormEntity(params, Charset.forName("UTF-8")));
CloseableHttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
    HttpEntity httpEntity = response.getEntity();
    String result = EntityUtils.toString(httpEntity, Charset.forName("UTF-8"));
    System.out.println(result);
}

以上就是 Java 使用 HttpClient 发送 POST 请求的完整攻略和两个示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java使用httpclient发送post请求示例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 使用java实现猜拳小游戏

    使用Java实现猜拳小游戏 概述 在本篇攻略中,我们将使用Java编写一个猜拳小游戏,让玩家与计算机进行猜拳对抗。猜拳规则如下: 剪刀(scissors)败给石头(rock),胜过布(paper) 石头(rock)胜过剪刀(scissors),败给布(paper) 布(paper)胜过石头(rock),败给剪刀(scissors) 游戏结束后,将统计双方获胜…

    Java 2023年5月19日
    00
  • 对JSP(Java Server Pages)的一些理解

            JSP全名为Java Server Pages,java服务器页面。JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在!JSP是为了简化Servlet的工作出现的替代品,Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的。JSP本身就是一种Servlet。为什么我说JSP本身就是一种Servlet…

    Java 2023年4月19日
    00
  • myeclipse创建servlet_动力节点Java学院整理

    下面是 “myeclipse创建servlet_动力节点Java学院整理” 的完整攻略: 创建一个Web项目 打开MyEclipse,点击菜单栏的 “File” -> “New” -> “Project”,选择 “Web” -> “Dynamic Web Project”,点击 “Next”。 输入项目名称,选择 “Target runti…

    Java 2023年6月15日
    00
  • HTML5拖拽文件到浏览器并实现文件上传下载功能代码

    下面是具体的步骤和示例代码: 1. HTML代码 首先,在HTML中创建一个用于拖放的区域,用<div>或其他HTML元素包裹住: <div id="drag-box"> <p>将文件拖到此区域</p> </div> 2. JavaScript代码 然后,通过JavaScript…

    Java 2023年6月15日
    00
  • 详解Java目录操作与文件操作教程

    《详解Java目录操作与文件操作教程》是一篇介绍如何在Java中对目录和文件进行操作的教程。在这篇教程中,我会详细讲解Java中如何创建、删除、遍历目录,以及如何对文件进行读写等操作。 创建目录 如果想要在Java中创建一个新的目录,可以使用File类的mkdir()或mkdirs()方法。其中mkdir()方法创建目录时必须保证它的父目录已经存在,而mkd…

    Java 2023年5月20日
    00
  • java实现多个文件压缩成压缩包

    要将多个文件压缩成一个压缩包,可以使用Java的ZipOutputStream类。以下是详细攻略: 创建压缩包文件 首先,需要创建一个压缩包文件,可以使用Java的File类,并指定后缀名为zip。例如: File zipFile = new File("myarchive.zip"); 实例化ZipOutputStream对象 创建Zi…

    Java 2023年5月19日
    00
  • java实现简单的图书管理系统

    下面就为您详细讲解如何使用Java实现简单的图书管理系统。 1. 软件需求分析 在开发图书管理系统前,首先要进行需求分析。需求分析包括以下内容: 明确系统用户:管理员和读者; 明确系统功能:管理员可以添加、删除、修改图书信息,读者可以查询图书信息; 系统安全性:需要保证管理员权限较高,读者只能进行查询操作。 2. 数据库设计 在实现图书管理系统前,需要设计数…

    Java 2023年5月18日
    00
  • Struts2实现多文件上传功能

    第一步:引入依赖在项目的 pom.xml 文件中添加以下依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1&lt…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部