zoukankan      html  css  js  c++  java
  • HTTPS的GET、POST、PUT、DELETE请求

     HTTPS的POST、GET、DELETE、PUT请求

    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.config.RequestConfig;
    import org.apache.http.client.methods.*;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.DefaultHttpClient;
    
    
    
    
    
    
    import org.apache.http.conn.ClientConnectionManager;
    import org.apache.http.conn.scheme.Scheme;
    import org.apache.http.conn.scheme.SchemeRegistry;
    import org.apache.http.conn.ssl.SSLSocketFactory;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicHeader;
    import org.apache.http.protocol.BasicHttpContext;
    import org.apache.http.util.EntityUtils;
    
    
    import javax.net.ssl.SSLContext;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.X509TrustManager;
    import java.io.IOException;
    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;
    
    
    /**
    * @author: zhaochunhui
    * @Date: 2021/1/21 18:04
    * @Description:
    */
    public class SSLClient  extends DefaultHttpClient {
        public SSLClient() throws Exception {
            super();
            //传输协议需要根据自己的判断
            SSLContext ctx = SSLContext.getInstance("TLS");
            X509TrustManager tm = new X509TrustManager() {
                @Override
                public void checkClientTrusted(X509Certificate[] chain,
                                               String authType) throws CertificateException {
                }
    
    
                @Override
                public void checkServerTrusted(X509Certificate[] chain,
                                               String authType) throws CertificateException {
                }
    
    
                @Override
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
            };
            ctx.init(null, new TrustManager[]{tm}, null);
            SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
            ClientConnectionManager ccm = this.getConnectionManager();
            SchemeRegistry sr = ccm.getSchemeRegistry();
            sr.register(new Scheme("https", 443, ssf));
        }
    
    
        public String doPost(String url, String map, String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpPost httpPost = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpPost = new HttpPost(url);
                //设置参数
                httpPost.addHeader("Accept", "application/json");
                httpPost.addHeader("Content-Type", "application/json;charset=UTF-8");
                StringEntity stringEntity = new StringEntity(map);
                stringEntity.setContentEncoding("UTF-8");
                stringEntity.setContentType("application/json");
                httpPost.setEntity(stringEntity);
                HttpResponse response = httpClient.execute(httpPost);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
        public String doPut(String url, String map, String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpPut httpPut = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpPut = new HttpPut(url);
                //设置参数
                httpPut.addHeader("Accept", "application/json");
                httpPut.addHeader("Content-Type", "application/json;charset=UTF-8");
                httpPut.addHeader("iBaseToken", "3285EA7E1D79955A1C832F57AFE0ABC7EDEBD7B1A4D5CFE14A1887C27160EFA6");
                httpPut.addHeader(new BasicHeader("Cookie", "session=ismsession=1708491774373951553490536926597163443211973631094874730003"));
                StringEntity stringEntity = new StringEntity(map);
                stringEntity.setContentEncoding("UTF-8");
                stringEntity.setContentType("application/json");
                httpPut.setEntity(stringEntity);
                HttpResponse response = httpClient.execute(httpPut);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
        public String doGet(String url,  String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpGet httpGet = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpGet = new HttpGet(url);
                //设置参数
                httpGet.addHeader("Accept", "application/json");
                httpGet.addHeader("Content-Type", "application/json;charset=UTF-8");
                httpGet.addHeader("iBaseToken", "DD6452F8C28C8B6C4DA09F10DBBD8F0AEB679C8C0527F1C130A3611CF7C788EE");
                httpGet.addHeader(new BasicHeader("Cookie", "session=ismsession=1211398665627844242134562708694152040389047758107797599492"));
                HttpResponse response = httpClient.execute(httpGet);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
        public String doDelete(String url, String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpDelete httpDelete = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpDelete = new HttpDelete(url);
                //设置参数
                httpDelete.addHeader("Accept", "application/json");
                httpDelete.addHeader("Content-Type", "application/json;charset=UTF-8");
                httpDelete.addHeader("iBaseToken", "8C2D9B310A6039D6382A0F675B9B0A09680975E0E99FC3783A41AAF9D8862A1F");
                httpDelete.addHeader(new BasicHeader("Cookie", "session=ismsession=476387060735095844496830122778384587051871883735873158400"));
                HttpResponse response = httpClient.execute(httpDelete);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
    
    
    
    
    }
    import com.alibaba.fastjson.JSONObject;
    import org.apache.http.HttpHost;
    import org.apache.http.HttpRequest;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.ResponseHandler;
    import org.apache.http.client.methods.HttpUriRequest;
    import org.apache.http.conn.ClientConnectionManager;
    import org.apache.http.params.HttpParams;
    import org.apache.http.protocol.HttpContext;
    import org.junit.Test;
    
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    
    /**
    * @author: zhaochunhui
    * @Date: 2021/1/21 18:06
    * @Description:
    */
    public class test {
    
    
    
    
        private String url = "https://25.11.3.23:8088/deviceManager/rest/xxx/sessions";
        private String charset = "utf-8";
        private SSLClient httpClientUtil; {
            try {
                httpClientUtil = new SSLClient();
            } catch (Exception e) {
                e.printStackTrace();
            }
        };
    
    
    
    
    
    
        public static String md5(String text) {
            String result="";
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                md.update(text.getBytes("UTF-8"));
                byte b[] = md.digest();
                int i;
                StringBuffer buf = new StringBuffer("");
                for (int offset = 0; offset < b.length; offset++) {
                    i = b[offset];
                    if (i < 0)
                        i += 256;
                    if (i < 16)
                        buf.append("0");
                    buf.append(Integer.toHexString(i));
                }
                result = buf.toString();
    //       System.out.println("result: " + buf.toString());// 32位的加密
    //       System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
            } catch (NoSuchAlgorithmException e) {
                // TODO Auto-generated catch block
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
            }
            return result;
        }
        @Test
        public void HttpsPostTest() throws Exception {
            String ver = "1.0";
            String msgId = "91b024e3-06ca-4a79-9993-1472d0fdb973";
            String appId = "300011853779";
            String timestamp = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
            String appKey = "A0702827F21C9CC7DDC93AEF24B6B16B";
            String sign = md5(ver + appId + msgId + timestamp + appKey).toUpperCase();
            JSONObject result = new JSONObject();
            result.put("username", "CMPuser");
            result.put("password", "Ceb@12345");
            result.put("scope", "0");
    
    
            String encryptStr = result.toString();
            System.out.println("encryptStr:" + encryptStr);
            String httpOrgCreateTestRtn = httpClientUtil.doPost(url, encryptStr, charset);
            System.out.println("result:" + httpOrgCreateTestRtn);
    
    
        }
        @Test
        public void HttpsPutTest() throws Exception {
            JSONObject result = new JSONObject();
            result.put("username", "CMPuser");
            result.put("password", "Ceb@12345");
            result.put("scope", "0");
    
    
            String encryptStr = result.toString();
            System.out.println("encryptStr:" + encryptStr);
            String httpOrgCreateTestRtn = httpClientUtil.doPut("https://25.11.3.23:8088/deviceManager/rest/2102351PXS9WKA800003/offline_user/CMPuser", encryptStr, charset);
            System.out.println("result:" + httpOrgCreateTestRtn);
    
    
        }
    
    
        @Test
        public void HttpGetTest() throws Exception{
            String httpOrgCreateTestRtn = httpClientUtil.doGet("https://25.11.3.23:8088/deviceManager/rest/2102351PXS9WKA800003/filesystem", charset);
            System.out.println(httpOrgCreateTestRtn);
        }
        @Test
        public void HttpDeleteTest() throws Exception{
            String httpOrgCreateTestRtn = httpClientUtil.doDelete("https://25.11.3.23:8088/deviceManager/rest/2102351PXS9WKA800003/sessions", charset);
            System.out.println(httpOrgCreateTestRtn);
        }
    }
    @Date: 2021/1/21 18:04
    * @Description:
    */
    public class SSLClient  extends DefaultHttpClient {
        public SSLClient() throws Exception {
            super();
            //传输协议需要根据自己的判断
            SSLContext ctx = SSLContext.getInstance("TLS");
            X509TrustManager tm = new X509TrustManager() {
                @Override
                public void checkClientTrusted(X509Certificate[] chain,
                                               String authType) throws CertificateException {
                }
    
    
                @Override
                public void checkServerTrusted(X509Certificate[] chain,
                                               String authType) throws CertificateException {
                }
    
    
                @Override
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
            };
            ctx.init(null, new TrustManager[]{tm}, null);
            SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
            ClientConnectionManager ccm = this.getConnectionManager();
            SchemeRegistry sr = ccm.getSchemeRegistry();
            sr.register(new Scheme("https", 443, ssf));
        }
    
    
        public String doPost(String url, String map, String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpPost httpPost = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpPost = new HttpPost(url);
                //设置参数
                httpPost.addHeader("Accept", "application/json");
                httpPost.addHeader("Content-Type", "application/json;charset=UTF-8");
                StringEntity stringEntity = new StringEntity(map);
                stringEntity.setContentEncoding("UTF-8");
                stringEntity.setContentType("application/json");
                httpPost.setEntity(stringEntity);
                HttpResponse response = httpClient.execute(httpPost);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
        public String doPut(String url, String map, String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpPut httpPut = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpPut = new HttpPut(url);
                //设置参数
                httpPut.addHeader("Accept", "application/json");
                httpPut.addHeader("Content-Type", "application/json;charset=UTF-8");
                httpPut.addHeader("iBaseToken", "3285EA7E1D79955A1C832F57AFE0ABC7EDEBD7B1A4D5CFE14A1887C27160EFA6");
                httpPut.addHeader(new BasicHeader("Cookie", "session=ismsession=1708491774373951553490536926597163443211973631094874730003"));
                StringEntity stringEntity = new StringEntity(map);
                stringEntity.setContentEncoding("UTF-8");
                stringEntity.setContentType("application/json");
                httpPut.setEntity(stringEntity);
                HttpResponse response = httpClient.execute(httpPut);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
        public String doGet(String url,  String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpGet httpGet = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpGet = new HttpGet(url);
                //设置参数
                httpGet.addHeader("Accept", "application/json");
                httpGet.addHeader("Content-Type", "application/json;charset=UTF-8");
                httpGet.addHeader("iBaseToken", "DD6452F8C28C8B6C4DA09F10DBBD8F0AEB679C8C0527F1C130A3611CF7C788EE");
                httpGet.addHeader(new BasicHeader("Cookie", "session=ismsession=1211398665627844242134562708694152040389047758107797599492"));
                HttpResponse response = httpClient.execute(httpGet);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
        public String doDelete(String url, String charset) {
            org.apache.http.client.HttpClient httpClient = null;
            HttpDelete httpDelete = null;
            String result = null;
            try {
                httpClient = new SSLClient();
                httpDelete = new HttpDelete(url);
                //设置参数
                httpDelete.addHeader("Accept", "application/json");
                httpDelete.addHeader("Content-Type", "application/json;charset=UTF-8");
                httpDelete.addHeader("iBaseToken", "8C2D9B310A6039D6382A0F675B9B0A09680975E0E99FC3783A41AAF9D8862A1F");
                httpDelete.addHeader(new BasicHeader("Cookie", "session=ismsession=476387060735095844496830122778384587051871883735873158400"));
                HttpResponse response = httpClient.execute(httpDelete);
                if (response != null) {
                    HttpEntity resEntity = response.getEntity();
                    if (resEntity != null) {
                        result = EntityUtils.toString(resEntity, charset);
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return result;
        }
    
    
    
    
    }
    import com.alibaba.fastjson.JSONObject;
    import org.apache.http.HttpHost;
    import org.apache.http.HttpRequest;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.ResponseHandler;
    import org.apache.http.client.methods.HttpUriRequest;
    import org.apache.http.conn.ClientConnectionManager;
    import org.apache.http.params.HttpParams;
    import org.apache.http.protocol.HttpContext;
    import org.junit.Test;
    
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    
    /**
    * @author: zhaochunhui
    * @Date: 2021/1/21 18:06
    * @Description:
    */
    public class test {
    
    
    
    
        private String url = "https://25.11.3.23:8088/deviceManager/rest/xxx/sessions";
        private String charset = "utf-8";
        private SSLClient httpClientUtil; {
            try {
                httpClientUtil = new SSLClient();
            } catch (Exception e) {
                e.printStackTrace();
            }
        };
    
    
    
    
    
    
        public static String md5(String text) {
            String result="";
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                md.update(text.getBytes("UTF-8"));
                byte b[] = md.digest();
                int i;
                StringBuffer buf = new StringBuffer("");
                for (int offset = 0; offset < b.length; offset++) {
                    i = b[offset];
                    if (i < 0)
                        i += 256;
                    if (i < 16)
                        buf.append("0");
                    buf.append(Integer.toHexString(i));
                }
                result = buf.toString();
    //       System.out.println("result: " + buf.toString());// 32位的加密
    //       System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密
            } catch (NoSuchAlgorithmException e) {
                // TODO Auto-generated catch block
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
            }
            return result;
        }
        @Test
        public void HttpsPostTest() throws Exception {
            String ver = "1.0";
            String msgId = "91b024e3-06ca-4a79-9993-1472d0fdb973";
            String appId = "300011853779";
            String timestamp = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
            String appKey = "A0702827F21C9CC7DDC93AEF24B6B16B";
            String sign = md5(ver + appId + msgId + timestamp + appKey).toUpperCase();
            JSONObject result = new JSONObject();
            result.put("username", "CMPuser");
            result.put("password", "Ceb@12345");
            result.put("scope", "0");
    
    
            String encryptStr = result.toString();
            System.out.println("encryptStr:" + encryptStr);
            String httpOrgCreateTestRtn = httpClientUtil.doPost(url, encryptStr, charset);
            System.out.println("result:" + httpOrgCreateTestRtn);
    
    
        }
        @Test
        public void HttpsPutTest() throws Exception {
            JSONObject result = new JSONObject();
            result.put("username", "CMPuser");
            result.put("password", "Ceb@12345");
            result.put("scope", "0");
    
    
            String encryptStr = result.toString();
            System.out.println("encryptStr:" + encryptStr);
            String httpOrgCreateTestRtn = httpClientUtil.doPut("https://25.11.3.23:8088/deviceManager/rest/2102351PXS9WKA800003/offline_user/CMPuser", encryptStr, charset);
            System.out.println("result:" + httpOrgCreateTestRtn);
    
    
        }
    
    
        @Test
        public void HttpGetTest() throws Exception{
            String httpOrgCreateTestRtn = httpClientUtil.doGet("https://25.11.3.23:8088/deviceManager/rest/2102351PXS9WKA800003/filesystem", charset);
            System.out.println(httpOrgCreateTestRtn);
        }
        @Test
        public void HttpDeleteTest() throws Exception{
            String httpOrgCreateTestRtn = httpClientUtil.doDelete("https://25.11.3.23:8088/deviceManager/rest
        }
    }
  • 相关阅读:
    重新想象 Windows 8 Store Apps (15) 控件 UI: 字体继承, Style, ControlTemplate, SystemResource, VisualState, VisualStateManager
    重新想象 Windows 8 Store Apps (12) 控件之 GridView 特性: 拖动项, 项尺寸可变, 分组显示
    返璞归真 asp.net mvc (10) asp.net mvc 4.0 新特性之 Web API
    与众不同 windows phone (29) Communication(通信)之与 OData 服务通信
    与众不同 windows phone (33) Communication(通信)之源特定组播 SSM(Source Specific Multicast)
    与众不同 windows phone (27) Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏
    与众不同 windows phone (30) Communication(通信)之基于 Socket TCP 开发一个多人聊天室
    返璞归真 asp.net mvc (12) asp.net mvc 4.0 新特性之移动特性
    重新想象 Windows 8 Store Apps (2) 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, ToggleSwitch
    重新想象 Windows 8 Store Apps (10) 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom
  • 原文地址:https://www.cnblogs.com/zhaochunhui/p/14700297.html
Copyright © 2011-2022 走看看