zoukankan      html  css  js  c++  java
  • 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 {
            }
        }};
    }
  • 相关阅读:
    mybatis以序列周期,同样处理的这个问题的价值
    达到HTTP合约Get、Post和文件上传功能——采用WinHttp介面
    采用curl库
    MFC 盾webBrowser打开弹出的页面
    reactnative调研
    React Native通信机制详解
    问题与学习 分析与综合
    学习、概念与概念簇
    奥苏伯尔学习理论
    语言与编程语言
  • 原文地址:https://www.cnblogs.com/littlehoom/p/5364740.html
Copyright © 2011-2022 走看看