• https authorization basic


    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.ndkey.auditproxy.cityon;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    import java.io.IOException;
    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;
    import java.util.HashMap;
    import javax.net.ssl.SSLContext;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.X509TrustManager;
    import org.apache.http.auth.AuthScope;
    import org.apache.http.auth.UsernamePasswordCredentials;
    import org.apache.http.client.CredentialsProvider;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
    import org.apache.http.entity.ContentType;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.BasicCredentialsProvider;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    /**
     *
     * @author zxf
     */
    public class TestMain {
    
        private static CloseableHttpClient httpClient = null;
        private final static ObjectMapper _objectMapper = new ObjectMapper();
    
        public static void main(String[] args) throws IOException, Exception {
            System.setProperty("jsse.enableSNIExtension", "false");
            SSLContext sslContext = SSLContext.getInstance("TLSv1.2");//TLS
            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
            SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);
            CredentialsProvider credsProvider = new BasicCredentialsProvider();
            credsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("wifi", "12345678"));
            httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).setDefaultCredentialsProvider(credsProvider).build();
            //      httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
            CloseableHttpResponse response = null;
            try {
                HashMap<String, String> map = new HashMap<String, String>();
                map.put("name", "123");
                map.put("mobile", "18600000006");
                HttpPost httpPost = new HttpPost("https://uat15.acxiom.com.cn/cityon/resources/customer");
                String info = _objectMapper.writeValueAsString(map);
                //  httpPost.addHeader("Content-Type", "application/json");
                //  httpPost.addHeader("Authorization", "Basic " + Base64.encode("wifi:12345678".getBytes()));
            //    httpPost.setConfig(RequestConfig.custom().setConnectTimeout(5 * 1000).setConnectionRequestTimeout(5 * 10000).build());
                httpPost.setEntity(new StringEntity(info, ContentType.APPLICATION_JSON));
                response = httpClient.execute(httpPost);
                String res = EntityUtils.toString(response.getEntity());
    
                System.out.println("回复消息:");
                System.out.println(res);
            } catch (Exception ex) {
                throw new Exception(ex);
            } finally {
                if (response != null) {
                    response.close();
                }
            }
    
            try {
                httpClient.close();
            } catch (IOException ex) {
    
            }
        }
        private static final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return new java.security.cert.X509Certificate[]{};
            }
    
            public void checkClientTrusted(X509Certificate[] chain,
                    String authType) throws CertificateException {
            }
    
            public void checkServerTrusted(X509Certificate[] chain,
                    String authType) throws CertificateException {
            }
        }};
    }
  • 相关阅读:
    Puzzle, ACM/ICPC World Finals 1993, UVa227
    Puzzle, ACM/ICPC World Finals 1993, UVa227
    All in All, UVa 10340
    All in All, UVa 10340
    Box, ACM/ICPC NEERC 2004, UVa1587
    Box, ACM/ICPC NEERC 2004, UVa1587
    动态文本输出
    形态分析法
    粒子系统
    思维
  • 原文地址:https://www.cnblogs.com/littlehoom/p/5364740.html
Copyright © 2020-2023  润新知