Java tutorial
/* * ################################################################ * * ProActive Parallel Suite(TM): The Java(TM) library for * Parallel, Distributed, Multi-Core Computing for * Enterprise Grids & Clouds * * Copyright (C) 1997-2015 INRIA/University of * Nice-Sophia Antipolis/ActiveEon * Contact: proactive@ow2.org or contact@activeeon.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; version 3 of * the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * * If needed, contact us to obtain a release under GPL Version 2 or 3 * or a different license than the AGPL. * * Initial developer(s): The ProActive Team * http://proactive.inria.fr/team_members.htm * Contributor(s): * * ################################################################ * $$PROACTIVE_INITIAL_DEV$$ */ package org.ow2.proactive_grid_cloud_portal.common.server; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.conn.ssl.TrustStrategy; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.PoolingClientConnectionManager; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; public final class HttpUtils { private HttpUtils() { } public static DefaultHttpClient createDefaultExecutor() { PoolingClientConnectionManager cm = new PoolingClientConnectionManager(); cm.setDefaultMaxPerRoute(50); cm.setMaxTotal(50); DefaultHttpClient httpClient = new DefaultHttpClient(cm); try { SSLSocketFactory socketFactory = new SSLSocketFactory(new RelaxedTrustStrategy(), SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); Scheme https = new Scheme("https", 443, socketFactory); httpClient.getConnectionManager().getSchemeRegistry().register(https); } catch (Exception ignored) { } return httpClient; } private static class RelaxedTrustStrategy implements TrustStrategy { @Override public boolean isTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { return true; } } public static String convertToString(InputStream inputStream, boolean keepNewLines) throws IOException { StringBuilder sb = new StringBuilder(); BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { sb.append(line); if (keepNewLines) { sb.append("\n"); } } } catch (IOException e) { e.printStackTrace(); throw e; } finally { if (reader != null) { reader.close(); } } return sb.toString(); } public static String convertToString(InputStream inputStream) throws IOException { return convertToString(inputStream, false); } }