HTTP 请求工具类 HTTPUtils
,其中涉及 HTTP 请求相关的各种操作,关于这些方法详细的介绍可以查看这些博客
💬相关
博客文章《Java发起HTTP请求并解析JSON返回数据》
https://blog.csdn.net/weixin_42077074/article/details/128672130
博客文章《Java发起同步和异步HTTP请求》
https://blog.csdn.net/weixin_42077074/article/details/129601132
博客文章《JavaJSON处理工具类JSONUtils》
https://blog.csdn.net/weixin_42077074/article/details/129364274
HTTP 请求工具类 HTTPUtils
包含的方法
disableSslVerification()
:禁用 SSL 验证addHeadersToRequest()
:将请求头添加到 HTTP 请求中concatParamsToURL()
:将请求参数拼接进 URLgetResponseContent()
:发起 HTTP 请求并获取响应内容asyncHttpRequest()
:异步 HTTP 请求printResponseContent()
:打印响应内容printJSON()
:打印 JSONprintXML()
:打印 XML
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;import javax.net.ssl.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CompletableFuture;public class HTTPUtils {// 请求头示例public static Map headers = new HashMap() {{// 设置接收内容类型put("Accept", "application/json");// 设置发送内容类型put("Content-Type", "application/json;charset=UTF-8");// 设置字符集put("charset", "UTF-8");// 设置访问者系统引擎版本、浏览器信息的字段信息,此处伪装成用户通过浏览器访问put("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");}};// 禁用 SSL 验证public static void disableSslVerification() {try {// 创建不验证证书链的 TrustManagerTrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {public java.security.cert.X509Certificate[] getAcceptedIssuers() {return null;}public void checkClientTrusted(X509Certificate[] certs, String authType) {}public void checkServerTrusted(X509Certificate[] certs, String authType) {}}};// 安装 TrustManagerSSLContext sc = SSLContext.getInstance("SSL");sc.init(null, trustAllCerts, new java.security.SecureRandom());HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());// 创建验证所有主机名的 HostnameVerifierHostnameVerifier allHostsValid = new HostnameVerifier() {public boolean verify(String hostname, SSLSession session) {return true;}};// 安装 HostnameVerifierHttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (KeyManagementException e) {e.printStackTrace();}}// 将请求头键值对添加到 HTTP 请求中public static void addHeadersToRequest(HttpURLConnection httpConn, Map headers){// headers 是 Map