以下是一个通用的
Java HTTP请求 工具类,可以用于发送
HTTPS请求:
javaimportjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.net.HttpURLConnection;importjava.net.URL;importjavax.net.ssl.HttpsURLConnection;importjavax.net.ssl.SSLContext;importjavax.net.ssl.TrustManager;importjavax.net.ssl.X509TrustManager;public classHttp Utils{/* 发送HTTPGET请求* @param url 请求的URL地址* @return 响应结果*/public static String sendHttpGet(String url) throws Exception {URL obj = new URL(url);HttpURLConnection con = (HttpURLConnection) obj.openConnection();con.setRequestMethod("GET");int responseCode = con.getResponseCode();if (responseCode ==HttpURLConnection.HTTP_OK) { // 成功BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));String inputLine;StringBuffer response = new StringBuffer();while ((inputLine = in.readLine()) != null) {response.append(inputLine);}in.close();return response.toString();} else {throw new Exception("HTTP请求失败,返回码:" + responseCode);}}/* 发送HTTPS GET请求* @param url 请求的URL地址* @return 响应结果*/public static String sendHttpsGet(String url) throws Exception {SSLContext sslcontext = SSLContext.getInstance("TLS");sslcontext.init(null, new TrustManager[] {new X509TrustManager() {public void checkClientTrusted(java.security.cert.X509Certificate[] arg0, String arg1) {}public void checkServerTrusted(java.security.cert.X509Certificate[] arg0, String arg1) {}publicjava.security.cert.X509Certificate[] getAcceptedIssuers() {return newjava.security.cert.X509Certificate[0];}}}, newjava.security.SecureRandom());URL obj = new URL(url);HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();con.setSSLSocketFactory(sslcontext.getSocketFactory());con.setRequestMethod("GET");int responseCode = con.getResponseCode();if (responseCode ==HttpsURLConnection.HTTP_OK) { // 成功BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));String inputLine;StringBuffer response = new StringBuffer();while ((inputLine = in.readLine()) != null) {response.append(inputLine);}in.close();return response.toString();} else {throw new Exception("HTTPS请求失败,返回码:" + responseCode);}}}
这个
工具类使用了
Java标准库中的`
HttpURLConnection`和`
HttpsURLConnection`来发送
HTTP/
HTTPS请求,并且支持GET请求方式。在发送
HTTPS请求时,需要先自定义一个`TrustManager`,并且将其设为SSLContext的默认信任管理器,这样才能避免SSL证书验证失败的问题。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/6818.html