当前位置: 首页 > wzjs >正文

网站项目建设方案文档wordpress 数据备份

网站项目建设方案文档,wordpress 数据备份,做房地产要自己开网站,网站设计 西安【Java】实现后端请求接口 【一】使用 HttpURLConnection 实现四种请求方式的示例【1】Get请求【2】POST请求【3】PUT请求【4】DELETE 请求【5】汇总工具类,通过传参实现4种请求 【二】HttpClient 实现四种请求方式的示例【1】GET请求【2】POST 请求【3】PUT 请求【…

【Java】实现后端请求接口

  • 【一】使用 HttpURLConnection 实现四种请求方式的示例
    • 【1】Get请求
    • 【2】POST请求
    • 【3】PUT请求
    • 【4】DELETE 请求
    • 【5】汇总工具类,通过传参实现4种请求
  • 【二】HttpClient 实现四种请求方式的示例
    • 【1】GET请求
    • 【2】POST 请求
    • 【3】PUT 请求
    • 【4】DELETE 请求
    • 【5】汇总的工具类

【一】使用 HttpURLConnection 实现四种请求方式的示例

HttpURLConnection 是 Java 标准库中较早提供的 HTTP 请求工具

【1】Get请求

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;public class HttpGetExample {public static String sendGet(String urlStr) throws Exception {// 对 URL 中的中文参数进行编码String encodedUrl = URLEncoder.encode(urlStr, "UTF-8").replaceAll("\\+", "%20");URL url = new URL(encodedUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");// 设置请求头,指定接收的字符编码connection.setRequestProperty("Accept-Charset", "UTF-8");int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {// 使用 BufferedReader 读取响应内容,并指定字符编码为 UTF-8BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}reader.close();return response.toString();}return null;}public static void main(String[] args) {try {String url = "http://example.com/api?param=中文参数";String response = sendGet(url);System.out.println(response);} catch (Exception e) {e.printStackTrace();}}
}

【2】POST请求

import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;public class HttpPostExample {public static String sendPost(String urlStr, String params) throws Exception {URL url = new URL(urlStr);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("POST");// 设置请求头,指定字符编码和内容类型connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");connection.setRequestProperty("Accept-Charset", "UTF-8");connection.setDoOutput(true);// 对请求参数进行编码String encodedParams = URLEncoder.encode(params, "UTF-8");DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());outputStream.writeBytes(encodedParams);outputStream.flush();outputStream.close();int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {// 使用 BufferedReader 读取响应内容,并指定字符编码为 UTF-8BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}reader.close();return response.toString();}return null;}public static void main(String[] args) {try {String url = "http://example.com/api";String params = "param=中文参数";String response = sendPost(url, params);System.out.println(response);} catch (Exception e) {e.printStackTrace();}}
}

【3】PUT请求

import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;public class HttpPutExample {public static String sendPut(String urlStr, String params) throws Exception {URL url = new URL(urlStr);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("PUT");// 设置请求头,指定字符编码和内容类型connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");connection.setRequestProperty("Accept-Charset", "UTF-8");connection.setDoOutput(true);// 对请求参数进行编码String encodedParams = URLEncoder.encode(params, "UTF-8");DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());outputStream.writeBytes(encodedParams);outputStream.flush();outputStream.close();int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {// 使用 BufferedReader 读取响应内容,并指定字符编码为 UTF-8BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}reader.close();return response.toString();}return null;}public static void main(String[] args) {try {String url = "http://example.com/api";String params = "param=中文参数";String response = sendPut(url, params);System.out.println(response);} catch (Exception e) {e.printStackTrace();}}
}

【4】DELETE 请求

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;public class HttpDeleteExample {public static String sendDelete(String urlStr) throws Exception {// 对 URL 中的中文参数进行编码String encodedUrl = URLEncoder.encode(urlStr, "UTF-8").replaceAll("\\+", "%20");URL url = new URL(encodedUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("DELETE");// 设置请求头,指定接收的字符编码connection.setRequestProperty("Accept-Charset", "UTF-8");int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {// 使用 BufferedReader 读取响应内容,并指定字符编码为 UTF-8BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}reader.close();return response.toString();}return null;}public static void main(String[] args) {try {String url = "http://example.com/api?param=中文参数";String response = sendDelete(url);System.out.println(response);} catch (Exception e) {e.printStackTrace();}}
}

【5】汇总工具类,通过传参实现4种请求

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;public class HttpUtils {public static String sendRequest(String urlStr, String method, String params) {try {URL url;if (method.equalsIgnoreCase("GET") || method.equalsIgnoreCase("DELETE")) {if (params != null) {urlStr += "?" + URLEncoder.encode(params, "UTF-8").replaceAll("\\+", "%20");}url = new URL(urlStr);} else {url = new URL(urlStr);}HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod(method);// 设置请求头,指定字符编码和接收内容的字符编码connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");connection.setRequestProperty("Accept-Charset", "UTF-8");if (method.equalsIgnoreCase("POST") || method.equalsIgnoreCase("PUT")) {connection.setDoOutput(true);if (params != null) {String encodedParams = URLEncoder.encode(params, "UTF-8");DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());outputStream.writeBytes(encodedParams);outputStream.flush();outputStream.close();}}int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {// 使用 BufferedReader 读取响应内容,并指定字符编码为 UTF-8BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}reader.close();return response.toString();}} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String[] args) {String url = "http://example.com/api";String params = "param=中文参数";String getResponse = sendRequest(url, "GET", params);System.out.println("GET Response: " + getResponse);String postResponse = sendRequest(url, "POST", params);System.out.println("POST Response: " + postResponse);String putResponse = sendRequest(url, "PUT", params);System.out.println("PUT Response: " + putResponse);String deleteResponse = sendRequest(url + "?" + params, "DELETE", null);System.out.println("DELETE Response: " + deleteResponse);}
}

【二】HttpClient 实现四种请求方式的示例

HttpClient 是 Java 11 及以上版本引入的新的 HTTP 客户端,使用起来更加简洁和方便。

【1】GET请求

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;public class HttpClientGetExample {public static void main(String[] args) {try {// 创建 HttpClient 实例HttpClient client = HttpClient.newHttpClient();// 构建 GET 请求,指定请求 URLHttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://example.com/api?param=中文参数")).header("Accept-Charset", "UTF-8") // 设置接收响应的字符编码为 UTF-8.GET().build();// 发送请求并获取响应,指定响应体处理方式为按 UTF-8 编码读取字符串HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println("Status code: " + response.statusCode());System.out.println("Response body: " + response.body());} catch (IOException | InterruptedException e) {e.printStackTrace();}}
}

【2】POST 请求

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;public class HttpClientPostExample {public static void main(String[] args) {try {// 构建请求体,对中文参数进行编码String param = URLEncoder.encode("中文参数", StandardCharsets.UTF_8);String requestBody = "param=" + param;// 创建 HttpClient 实例HttpClient client = HttpClient.newHttpClient();// 构建 POST 请求,设置请求头的字符编码和内容类型HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://example.com/api")).header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8").header("Accept-Charset", "UTF-8").POST(HttpRequest.BodyPublishers.ofString(requestBody)).build();// 发送请求并获取响应,指定响应体处理方式为按 UTF-8 编码读取字符串HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println("Status code: " + response.statusCode());System.out.println("Response body: " + response.body());} catch (IOException | InterruptedException e) {e.printStackTrace();}}
}

【3】PUT 请求

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;public class HttpClientPutExample {public static void main(String[] args) {try {// 构建请求体,对中文参数进行编码String param = URLEncoder.encode("中文参数", StandardCharsets.UTF_8);String requestBody = "param=" + param;// 创建 HttpClient 实例HttpClient client = HttpClient.newHttpClient();// 构建 PUT 请求,设置请求头的字符编码和内容类型HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://example.com/api")).header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8").header("Accept-Charset", "UTF-8").PUT(HttpRequest.BodyPublishers.ofString(requestBody)).build();// 发送请求并获取响应,指定响应体处理方式为按 UTF-8 编码读取字符串HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println("Status code: " + response.statusCode());System.out.println("Response body: " + response.body());} catch (IOException | InterruptedException e) {e.printStackTrace();}}
}

【4】DELETE 请求

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;public class HttpClientDeleteExample {public static void main(String[] args) {try {// 创建 HttpClient 实例HttpClient client = HttpClient.newHttpClient();// 构建 DELETE 请求,指定请求 URL 和接收响应的字符编码HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://example.com/api?param=中文参数")).header("Accept-Charset", "UTF-8").DELETE().build();// 发送请求并获取响应,指定响应体处理方式为按 UTF-8 编码读取字符串HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println("Status code: " + response.statusCode());System.out.println("Response body: " + response.body());} catch (IOException | InterruptedException e) {e.printStackTrace();}}
}

【5】汇总的工具类

HttpClientUtils 类中的 sendRequest 方法根据传入的 url、method 和 requestBody 构建相应的 HttpRequest 对象并发送请求。对于 GET 和 DELETE 请求,requestBody 可以传入 null;对于 POST 和 PUT 请求,需要传入请求体内容。在 main 方法中演示了如何调用该工具类的方法进行不同类型的请求。

(1)在请求头中设置 Accept-Charset 为 UTF-8,告诉服务器客户端期望接收的字符编码。
(2)对于 POST 和 PUT 请求,使用 URLEncoder 对请求体中的中文参数进行编码,避免发送时出现乱码。
(3)使用 HttpResponse.BodyHandlers.ofString() 接收响应体,默认以 UTF - 8 编码读取字符串。

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;public class HttpClientUtils {private static final HttpClient client = HttpClient.newHttpClient();public static String sendRequest(String url, String method, String requestBody) {try {HttpRequest.Builder requestBuilder = HttpRequest.newBuilder().uri(URI.create(url)).header("Accept-Charset", "UTF-8");switch (method.toUpperCase()) {case "GET":requestBuilder.GET();break;case "POST":if (requestBody != null) {requestBody = URLEncoder.encode(requestBody, StandardCharsets.UTF_8);}requestBuilder.header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8").POST(HttpRequest.BodyPublishers.ofString(requestBody));break;case "PUT":if (requestBody != null) {requestBody = URLEncoder.encode(requestBody, StandardCharsets.UTF_8);}requestBuilder.header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8").PUT(HttpRequest.BodyPublishers.ofString(requestBody));break;case "DELETE":requestBuilder.DELETE();break;default:throw new IllegalArgumentException("Unsupported HTTP method: " + method);}HttpRequest request = requestBuilder.build();HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());return response.body();} catch (IOException | InterruptedException | IllegalArgumentException e) {e.printStackTrace();return null;}}public static void main(String[] args) {String getUrl = "https://example.com/api?param=中文参数";String postUrl = "https://example.com/api";String putUrl = "https://example.com/api";String deleteUrl = "https://example.com/api?param=中文参数";String postBody = "param=中文参数";String putBody = "param=中文参数";System.out.println("GET response: " + sendRequest(getUrl, "GET", null));System.out.println("POST response: " + sendRequest(postUrl, "POST", postBody));System.out.println("PUT response: " + sendRequest(putUrl, "PUT", putBody));System.out.println("DELETE response: " + sendRequest(deleteUrl, "DELETE", null));}
}

文章转载自:

http://BaUH5Mi7.wsbrm.cn
http://LKiQ1MmR.wsbrm.cn
http://UOBHexcJ.wsbrm.cn
http://k4dDeBmy.wsbrm.cn
http://bTfUTufY.wsbrm.cn
http://lKyzWIdn.wsbrm.cn
http://r6mXCjHT.wsbrm.cn
http://HHgEdFV9.wsbrm.cn
http://sgAXTYyE.wsbrm.cn
http://RFf6y9PZ.wsbrm.cn
http://w84rXKfD.wsbrm.cn
http://s7Oh2YXi.wsbrm.cn
http://cRIYGssc.wsbrm.cn
http://PSPwH1tY.wsbrm.cn
http://R7FHSCCA.wsbrm.cn
http://kYLFEOsl.wsbrm.cn
http://xS9KjOcN.wsbrm.cn
http://560m2kFC.wsbrm.cn
http://VklnIQcV.wsbrm.cn
http://RSyvbzjN.wsbrm.cn
http://6lAPtzVp.wsbrm.cn
http://sYQ6dfff.wsbrm.cn
http://A23FWgcc.wsbrm.cn
http://lCXOoBda.wsbrm.cn
http://xo32WPgL.wsbrm.cn
http://5djT9cW8.wsbrm.cn
http://zKIevjlV.wsbrm.cn
http://I2a5lAHU.wsbrm.cn
http://uNfEa1jW.wsbrm.cn
http://QdtaqHKy.wsbrm.cn
http://www.dtcms.com/wzjs/716900.html

相关文章:

  • 个人能不能自己做网站如果建手机网站
  • 网站托管费用多少中山市规划建设局网站
  • 网站结构如何优化网站建设三站合一
  • 网站竞争对手如何做调研网站系统平台建设
  • 网站是用dw做的吗全媒体广告投放平台
  • 维护网站株洲网站建设优化
  • 最全的数据网站哈尔滨信息网
  • 专业网站策划从0开始做网站
  • 新沂徐州网站开发pjax wordpress
  • 大型网站开发基本流程潍坊个人网站制作
  • 微信自媒体网站建设苏州有哪些做网站公司
  • 备案成功的网站可以更换域名吗个人网站建设的计划书
  • 谢家华做网站阿里云上怎么做网页网站
  • 云龙网站开发网站开发建设成本
  • 哈尔滨网站建设优化海外网络推广服务
  • 统计局门户网站建设目标网络推广有前途吗
  • 国家城乡建设规划部网站无极电影网首页
  • 手机端网站用dw怎么做经典网站欣赏
  • 做蛋糕网站wordpress nextgen gallery
  • 上海做网站品牌公司有哪些湖北高速公路建设网站
  • 温州建站模板搭建wordpress 获取首页地址
  • 镇江网站建设哪家好深圳网络运营公司
  • 在国内做推广产品用什么网站好app备案号查询平台官网
  • 长沙网站设计哪家好官方网站想反应问题不弄应该怎么做
  • 网站建设音乐插件怎么弄云服务器建立wordpress
  • 网站 备案 名称网站会员系统功能
  • 上海网站原型设计网站建设 商城
  • 好用的网站系统长沙正规seo优化公司
  • 怎样在网站做友情链接企业网站模板官网
  • wordpress做过的大型网站吗wordpress可以网络直播