/** * Copyright (c) 2009--2012 Red Hat, Inc. * * This software is licensed to you under the GNU General Public License, * version 2 (GPLv2). There is NO WARRANTY for this software, express or * implied, including the implied warranties of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 * along with this software; if not, see * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. * * Red Hat trademarks are not licensed under GPLv2. No permission is * granted to use or replicate Red Hat trademarks that are incorporated * in this software or its documentation. */ package com.redhat.rhn.common.util.download; import org.jfree.io.IOUtils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.StringWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; /** * * DownloadUtils * @version $Rev$ */ public class DownloadUtils { private DownloadUtils() { } /** * Downloads text from the URL and returns it as a string * @param url the url * @return the text downloaded */ public static String downloadUrl(String url) { URL u; StringBuilder toReturn = new StringBuilder(); try { u = new URL(url); HttpURLConnection conn = (HttpURLConnection)u.openConnection(); if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) { throw new DownloadException(url, toString(conn.getErrorStream()), conn.getResponseCode()); } toReturn.append(toString(conn.getInputStream())); } catch (MalformedURLException mue) { toReturn.append(mue.getLocalizedMessage()); } catch (IOException ioe) { toReturn.append(ioe.getLocalizedMessage()); } return toReturn.toString(); } private static String toString(InputStream stream) throws IOException { StringWriter writer = new StringWriter(); IOUtils.getInstance().copyWriter( new BufferedReader(new InputStreamReader(stream)), writer); return writer.toString(); } }