您的位置:首页 > 教育 > 锐评 > 外贸公司收款流程_郑州建站多少钱_站外推广免费网站_家庭优化大师

外贸公司收款流程_郑州建站多少钱_站外推广免费网站_家庭优化大师

2025/4/19 20:32:49 来源:https://blog.csdn.net/wrjwww/article/details/144483504  浏览:    关键词:外贸公司收款流程_郑州建站多少钱_站外推广免费网站_家庭优化大师
外贸公司收款流程_郑州建站多少钱_站外推广免费网站_家庭优化大师

使用HttpClient发送Http请求需要在项目中导入相关依赖:

<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version>
</dependency>

1、 HttpClient发送Get请求

分如下几步:

  1. 获取HttpClient对象。使用HttpClients.createDefault()
  2. 创建请求对象
  3. 发送Get请求,获取响应结果
  4. 解析响应结果(获取状态码,获取响应数据)
  5. 释放资源

Java代码示例:

public void testHttpGet() throws IOException {// 1. 获取HttpClient对象CloseableHttpClient aDefault = HttpClients.createDefault();// 2. 创建请求对象,创建Get请求对象时,传入要访问的资源路径HttpGet httpGet = new HttpGet("http://localhost:8080//demo");// 3. 发送请求,获取响应结果,调用execute()方法发送请求可能会出现异常,需要处理。CloseableHttpResponse response = aDefault.execute(httpGet);// 4.1 获取响应状态码,int statusCode = response.getStatusLine().getStatusCode();System.out.println("statusCode = " + statusCode);;// 4.2 解析响应结果。响应结果封装在HttpEntity对象中,可以使用EntityUtils工具类解析。HttpEntity entity = response.getEntity();String body = EntityUtils.toString(entity);System.out.println("body = " + body);// 5. 释放资源,最好是放在finally块中response.close();aDefault.close();
}

2、HttpClient发送Post请求

分如下几步:

  1. 创建HttpClient请求对象。使用HttpClients.createDefault()
  2. 创建Post请求对象。直接new一个HttpPost()对象,注意构造方法中传入请求资源路径
  3. 构造请求体。请求体一般使用Json格式存放请求数据。通过Post请求对象调用setEntity()方法设置请求体。setEntity()方法需要传入一个Entity接口实现类对象。Entity接口实现类对象有很多,这里以StringEntity举例。在StringEntity构造方法中需要传入一个Json格式的字符串,因此使用FastJson中的JsonObject类构造一个Json对象转成Json字符串。
  4. 指定编码格式和数据格式。在构造好请求体后,需要给请求体指定编码格式和数据格式。分别通过Entity实现类对象调用setContentEncoding()方法和setContentType()方法实现。
  5. 设置响应体。通过HttpPost()对象调用setEntity()方法设置请求体。
  6. 发送请求,获取响应结果
  7. 解析结果
  8. 释放资源

Java代码示例:

public void testHttpClient() throws IOException {// 1. 创建HttpClient请求对象CloseableHttpClient aDefault = HttpClients.createDefault();// 2. 创建Post请求对象,设置请求路径HttpPost httpPost = new HttpPost("http://localhost:8080//demo");// 3. 构造请求体//    请求数据以Json格式放在请求体中//    请求体需要一个Entity接口的实现类对象,此处构造一个StringEntity对象作为请求体JSONObject jsonObject = new JSONObject(); // 使用阿里的FastJson构造Json格式数据jsonObject.put("name", "Tom");jsonObject.put("age", 18);jsonObject.put("gender", 1);StringEntity entity = new StringEntity(jsonObject.toString()); // 转成Json格式字符串传入StringEntity构造方法// 4. 指定编码格式与数据格式entity.setContentType("application/json"); // 数据格式entity.setContentEncoding("utf-8"); // 编码格式// 5. 设置响应体httpPost.setEntity(entity);// 6. 发送请求,获取响应结果CloseableHttpResponse response = aDefault.execute(httpPost);// 7. 解析响应结果// 7.1 获取状态码int statusCode = response.getStatusLine().getStatusCode();System.out.println("statusCode = " + statusCode);// 7.2 获取响应数据HttpEntity entity1 = response.getEntity();String body = EntityUtils.toString(entity1);System.out.println("body = " + body);// 8. 释放资源aDefault.close();response.close();
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com