• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: 其他
  • 标签: https  

资源简介

基于不同客户需求,发送https post请求,参数格式可为json,text,xml

资源截图

代码片段和文件信息

package com.gmt.server.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.StringWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;



public class HttpsProxy {
private static final String METHOD_POST = “POST“;  
    private static final String DEFAULT_CHARSET = “utf-8“;  
      
    public static String doPost(String url String params 
     String charset int connectTimeout int readTimeout) throws Exception {  
        String ctype = “application/json;charset=“ + charset;  
        byte[] content = {};  
        if(params != null){  
         System.out.println(“上传参数:“+params);
            content = params.getBytes(charset);  
        }  
          
        return doPost(url ctype content connectTimeout readTimeout);  
    }  
    public static String doPost(String url String ctype byte[] content
     int connectTimeoutint readTimeout) throws Exception {  
        HttpsURLConnection conn = null;  
        OutputStream out = null;  
        String rsp = null;  
        try {  
            try{  
                SSLContext ctx = SSLContext.getInstance(“TLS“);  
                ctx.init(new KeyManager[0] new TrustManager[] {new DefaultTrustManager()}
                 new SecureRandom());  
                SSLContext.setDefault(ctx);  
  
                conn = getConnection(new URL(url) METHOD_POST ctype);   
                conn.setHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname SSLSession session) {
return true;
}
}); 
                conn.setConnectTimeout(connectTimeout);  
                conn.setReadTimeout(readTimeout);  
            }catch(Exception e){  
                throw e;  
            }  
            try{  
                out = conn.getOutputStream();  
                out.write(content);  
                rsp = getResponseAsString(conn);  
            }catch(IOException e){  
                throw e;  
            }  
              
        }finally {  
            if (out != null) {  
                out.close();  
            }  
            if (conn != null) {  
                conn.disconnect();  
            }  
        }  
          
        return rsp;  
    }  
    private static class DefaultTrustManager implements javax.net.ssl.X509TrustManager {  
       
        public void checkClientTrusted(X509Certificate[] arg0 String arg1) throws CertificateException {}  
  
        public void checkServerTrusted(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        5861  2017-10-17 10:14  HttpsProxy.java
     文件        4060  2017-12-01 15:33  MySSLProtocolSocketFactory.java
     文件        3084  2017-12-01 16:44  HttpUtils.java

评论

共有 条评论