博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpUtils
阅读量:5060 次
发布时间:2019-06-12

本文共 11579 字,大约阅读时间需要 38 分钟。

1.认证头

public Header getBasicAuthorizationHeader(String key,String value) {            Header header = new Header();            LOGGER.info("header key is :{}",key);            header.setName(PrintConstant.Authorization);            header.setValue("Basic "+Base64.getEncoder().encodeToString((key+":"+value).getBytes()));        return header;    }
***************************************************************************/public class URLHttpUtils {    private static final Logger logger = LoggerFactory.getLogger(URLHttpUtils.class);    /*     * public static void httpsSkipCertificates() {     *      * try { trustAllHttpsCertificates(); } catch (Exception e) { // TODO     * Auto-generated catch block e.printStackTrace(); }     *      * }     */    public synchronized static String HttpClientRequest(String message, Header header, String operation, String url) {        RequestEntity entity = null;        String response = null;        PostMethod postMethod = null;        try {            logger.info("Enter into HttpClientRequest method ");            entity = new ByteArrayRequestEntity(message.getBytes("UTF-8"));            HttpClient httpClient = new HttpClient();            postMethod = new PostMethod(url + operation);            postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");            if (header != null) {                postMethod.setRequestHeader(header);            }            postMethod.setRequestEntity(entity);            httpClient.executeMethod(postMethod);            response = postMethod.getResponseBodyAsString();        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        } catch (HttpException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            postMethod.releaseConnection();        }        logger.info("Complete of the HttpClientRequest method");        return response;    }    public synchronized static String HttpClientRequest(String jsonMessage, String targetUrl, Header header) {        logger.info("debug the json message " + jsonMessage);        logger.info("debug targetUrl " + targetUrl);        // logger.info("debug the "+header.getName()+" ----- "+header.getValue());        RequestEntity entity = null;        String response = null;        PostMethod postMethod = null;        try {            logger.info("Enter into HttpClientRequest method ");            entity = new ByteArrayRequestEntity(jsonMessage.getBytes("UTF-8"));            HttpClient httpClient = new HttpClient();            postMethod = new PostMethod(targetUrl);            postMethod.addRequestHeader("Content-Type", "application/json");            postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");            if (header != null) {                postMethod.setRequestHeader(header);            }            postMethod.setRequestEntity(entity);            httpClient.executeMethod(postMethod);            response = postMethod.getResponseBodyAsString();        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        } catch (HttpException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            postMethod.releaseConnection();        }        logger.info("Complete of the HttpClientRequest method");        return response;        /*         * Client client = ClientBuilder.newClient(); Entity payload =         * Entity.json(jsonMessage); Response response = client.target(targetUrl).         * request(MediaType.APPLICATION_JSON_TYPE). header(header.getName(),         * header.getValue()).post(payload); return response.getEntity().toString() ;         */    }    /**     * @param url , postData @return String @throws     */    public synchronized static String postURLRequest(String url, String postData) {        logger.debug("Enter into postURLRequest method .");        StringBuffer buffer = new StringBuffer();        try {            // here skip the https certificate verify, or should install cert into JDK            // .currently skip the            // validate for certificate.            // URLHttpUtils.httpsSkipCertificates();            trustAllHttpsCertificates();            HttpsURLConnection.setDefaultHostnameVerifier(hv);            URL obj = new URL(url);            HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();            conn.setRequestMethod("POST");            // USPS web service require to set this content-type.            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");            // open the key that can send the data to webservice.            conn.setDoOutput(true);            // open the key that can receive the data from webservice.            conn.setDoInput(true);            DataOutputStream wr = new DataOutputStream(conn.getOutputStream());            wr.writeBytes(postData);            wr.flush();            wr.close();            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));            String line = "";            while ((line = reader.readLine()) != null) {                buffer.append(line);            }            reader.close();        } catch (Exception e) {            e.printStackTrace();        }        logger.debug("The response content : " + buffer.toString());        logger.debug("Complete in postURLRequest method .");        return buffer.toString();    }    /**     * @param url , postData @return String @throws     */    public synchronized static String deleteURLRequest(String targetUrl, Map
map) { logger.info("Enter into getURLRequest method "); logger.info("debug targetUrl " + targetUrl); // logger.info("debug the "+header.getName()+" ----- "+header.getValue()); RequestEntity entity = null; String response = null; DeleteMethod deleteMethod = null; try { HttpClient httpClient = new HttpClient(); deleteMethod = new DeleteMethod(targetUrl); deleteMethod.addRequestHeader(map.get("apiKey"), map.get("apiValue")); httpClient.executeMethod(deleteMethod); response = deleteMethod.getResponseBodyAsString(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { deleteMethod.releaseConnection(); } logger.info("Complete of the getURLRequest method"); return response; } /** * @param url , postData @return String @throws */ public synchronized static String getURLRequest(String targetUrl, Map
map) { logger.info("Enter into getURLRequest method "); logger.info("debug targetUrl " + targetUrl); // logger.info("debug the "+header.getName()+" ----- "+header.getValue()); RequestEntity entity = null; String response = null; GetMethod getMethod = null; try { HttpClient httpClient = new HttpClient(); getMethod = new GetMethod(targetUrl); getMethod.addRequestHeader(map.get("apiKey"), map.get("apiValue")); httpClient.executeMethod(getMethod); response = getMethod.getResponseBodyAsString(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { getMethod.releaseConnection(); } logger.info("Complete of the getURLRequest method"); return response; } /** * @param url , postData @return String @throws */ public synchronized static String postURLRequest2(String jsonMessage, String targetUrl, Map
map) { logger.info("Enter into postURLRequest2 method "); logger.info("debug the json message " + jsonMessage); logger.info("debug targetUrl " + targetUrl); // logger.info("debug the "+header.getName()+" ----- "+header.getValue()); RequestEntity entity = null; String response = null; PostMethod postMethod = null; try { entity = new ByteArrayRequestEntity(jsonMessage.getBytes("UTF-8")); HttpClient httpClient = new HttpClient(); postMethod = new PostMethod(targetUrl); postMethod.addRequestHeader("Content-Type", "application/json"); postMethod.addRequestHeader(map.get("apiKey"), map.get("apiValue")); postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); postMethod.setRequestEntity(entity); httpClient.executeMethod(postMethod); response = postMethod.getResponseBodyAsString(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { postMethod.releaseConnection(); } logger.info("Complete of the HttpClientRequest method"); return response; } // 2016-10-03, wrightdeng,#3257 add skip https verify function here. static HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost()); // TODO Auto-generated method stub return true; } }; private synchronized 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 { return; } public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } }}
View Code

 

转载于:https://www.cnblogs.com/lshan/p/9208642.html

你可能感兴趣的文章
Android权限大全
查看>>
浅谈大型web系统架构
查看>>
PHP7实战开发简单CMS内容管理系统(12)栏目修改
查看>>
vue.js
查看>>
package.json和package-lock.json的区别
查看>>
VMware虚拟机的Linux系统访问本地磁盘
查看>>
STL之List存储结构体
查看>>
★古今中外著名14大悖论
查看>>
[IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作...
查看>>
[转]EeeBox 安裝 Debian 後驅動 Wireless 筆記
查看>>
C++中的1LL
查看>>
Python私有变量
查看>>
数据库Sharding的基本思想和切分策略
查看>>
UILabel属性
查看>>
JAVA虚拟机
查看>>
我的职业历程一:springboot开发周边
查看>>
javascript:event对象
查看>>
react-native 踩坑记
查看>>
VC为控件添加背景
查看>>
Wojilu学习笔记 (01)
查看>>