| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- /**
- *
- */
- package com.cnd3b.utility;
- import javax.net.ssl.HostnameVerifier;
- import javax.net.ssl.HttpsURLConnection;
- import javax.net.ssl.SSLSession;
- import java.io.*;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.nio.charset.StandardCharsets;
- /**
- * @author SJW
- *
- */
- public class WebRequest {
- public String doPost(String content, String url) {
- PrintWriter out = null;
- BufferedReader in = null;
- StringBuilder result = new StringBuilder();
- HttpURLConnection conn = null;
- try {
- URL realUrl = new URL(url);
- // 打开和URL之间的连接
- conn = (HttpURLConnection) realUrl.openConnection();
- conn.setRequestProperty("accept", "*/*");
- conn.setRequestProperty("connection", "Keep-Alive");
- conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- conn.setConnectTimeout(8000);
- conn.setDoOutput(true);
- conn.setDoInput(true);
- out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), StandardCharsets.UTF_8));
- out.print(content);
- out.flush();
- in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
- String line;
- while ((line = in.readLine()) != null) {
- result.append(line);
- }
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("[POST请求]向地址:" + url + " 发送数据:发生错误!");
- } finally {// 使用finally块来关闭输出流、输入流
- if (out != null) {
- out.close();
- out = null;
- }
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- in = null;
- }
- if (conn != null) {
- conn.disconnect();
- conn = null;
- }
- }
- return result.toString();
- }
- public String doPostKuJiaLe(String content, String url) {
- PrintWriter out = null;
- BufferedReader in = null;
- StringBuilder result = new StringBuilder();
- HttpURLConnection conn = null;
- try {
- URL realUrl = new URL(url);
- // 打开和URL之间的连接
- conn = (HttpURLConnection) realUrl.openConnection();
- conn.setRequestProperty("accept", "*/*");
- conn.setRequestProperty("connection", "Keep-Alive");
- conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");
- conn.setConnectTimeout(8000);
- conn.setDoOutput(true);
- conn.setDoInput(true);
- out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), StandardCharsets.UTF_8));
- out.print(content);
- out.flush();
- in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
- String line;
- while ((line = in.readLine()) != null) {
- result.append(line);
- }
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("[POST请求]向地址:" + url + " 发送数据:发生错误!");
- } finally {// 使用finally块来关闭输出流、输入流
- if (out != null) {
- out.close();
- out = null;
- }
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- in = null;
- }
- if (conn != null) {
- conn.disconnect();
- conn = null;
- }
- }
- return result.toString();
- }
- public void doGet_simple(String url) {
- HttpsURLConnection conn = null;
- try {
- URL realUrl = new URL(url);
- trustAllHttpsCertificates();
- HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
- @Override
- public boolean verify(String hostname, SSLSession session) {
- // TODO Auto-generated method stub
- System.out.println("Warning: URL Host: " + hostname + " vs. "
- + session.getPeerHost());
- return true;
- }
- });
- conn = (HttpsURLConnection) realUrl.openConnection();
- conn.setConnectTimeout(8000);
- conn.getResponseCode();
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("[POST请求]向地址:" + url + " 发送数据:发生错误!");
- } finally {// 使用finally块来关闭输出流、输入流
- if (conn != null) {
- conn.disconnect();
- }
- }
- }
- public String doGet(String url) {
- PrintWriter out = null;
- BufferedReader in = null;
- StringBuilder result = new StringBuilder();
- HttpsURLConnection conn = null;
- try {
- URL realUrl = new URL(url);
- trustAllHttpsCertificates();
- HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
- @Override
- public boolean verify(String hostname, SSLSession session) {
- // TODO Auto-generated method stub
- System.out.println("Warning: URL Host: " + hostname + " vs. "
- + session.getPeerHost());
- return true;
- }
- });
- // 打开和URL之间的连接
- conn = (HttpsURLConnection) realUrl.openConnection();
- conn.setRequestProperty("accept", "*/*");
- conn.setRequestProperty("connection", "Keep-Alive");
- conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- conn.setConnectTimeout(8000);
- in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
- String line;
- while ((line = in.readLine()) != null) {
- result.append(line);
- }
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("[POST请求]向地址:" + url + " 发送数据:发生错误!");
- } finally {// 使用finally块来关闭输出流、输入流
- if (out != null) {
- out.close();
- out = null;
- }
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- in = null;
- }
- if (conn != null) {
- conn.disconnect();
- conn = null;
- }
- }
- return result.toString();
- }
- private static void trustAllHttpsCertificates() throws Exception {
- javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
- javax.net.ssl.TrustManager tm = new miTM();
- trustAllCerts[0] = tm;
- javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
- sc.init(null, trustAllCerts, null);
- javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
- }
- static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager {
- public java.security.cert.X509Certificate[] getAcceptedIssuers() {
- return null;
- }
- public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) {
- return true;
- }
- public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) {
- return true;
- }
- public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)
- throws java.security.cert.CertificateException {
- }
- public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)
- throws java.security.cert.CertificateException {
- }
- }
- }
|