JAVA HTTP接口POST/GET调用示例及代码实现

需积分: 50 87 下载量 92 浏览量 更新于2024-09-08 1 收藏 28KB TXT 举报
在Java中,调用HTTP接口通常采用POST或GET方法,这些是客户端与服务器之间通信的基础协议。本文将详细介绍如何使用Apache HttpClient库来实现这两种常见的HTTP请求。首先,HTTP(Hypertext Transfer Protocol)是一种应用层协议,用于客户端向服务器发送数据并接收响应,GET和POST是其两种主要的请求方法。 1. GET方法: GET方法用于获取资源,通常在URL中携带参数,且参数不会对服务器造成副作用。在`HttpConnectUtil`类中,`getHttp`方法用于执行GET请求。创建一个`HttpClient`实例,然后创建一个`GetMethod`对象,传入URL地址。设置请求头(如多说API的短域名和秘钥),然后执行请求,将响应结果保存在`responseMsg`变量中。 ```java public static String getHttp(String url) { HttpClient httpClient = new HttpClient(); GetMethod getMethod = new GetMethod(url); // 设置多说API相关参数 // ... try { httpClient.executeMethod(getMethod); int responseCode = getMethod.getStatusCode(); if (responseCode == HttpStatus.SC_OK) { InputStream inputStream = getMethod.getResponseBodyAsStream(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int read; while ((read = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, read); } responseMsg = new String(outputStream.toByteArray(), "UTF-8"); } else { responseMsg = "请求失败,状态码:" + responseCode; } } catch (IOException | HttpException e) { responseMsg = "获取HTTP响应时发生错误:" + e.getMessage(); } finally { getMethod.releaseConnection(); } return responseMsg; } ``` 2. POST方法: POST方法主要用于提交数据,通常用于发送表单数据或JSON数据。在`HttpConnectUtil`类中,`postHttp`方法用于执行POST请求。这里同样创建HttpClient和PostMethod对象,设置请求体(可以是字符串或二进制数据),然后执行请求: ```java public static void postHttp(String url, String requestBody) { HttpClient httpClient = new HttpClient(); PostMethod postMethod = new PostMethod(url); // 设置多说API相关参数 // ... try { postMethod.setRequestBody(requestBody); // 设置POST请求的Content-Type,如果是JSON,可能需要设置为"application/json" postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); httpClient.executeMethod(postMethod); int responseCode = postMethod.getStatusCode(); if (responseCode == HttpStatus.SC_OK) { // 处理响应... } else { // 处理请求失败情况... } } catch (IOException | HttpException e) { // 处理异常... } finally { postMethod.releaseConnection(); } } ``` Apache HttpClient库提供了灵活的方法来处理HTTP请求,包括重试机制、超时设置等。在实际项目中,需要根据需求配置相应的参数,并进行错误处理和响应数据解析。本文提供的代码片段提供了一个基础框架,开发者可以根据实际情况调整和扩展。