HttpURLConnection:网络下载数据的工具类

来源:互联网 发布:php程序设计是做什么的 编辑:程序博客网 时间:2024/04/29 21:20
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * 网络下载数据的工具类
 *
 * @author Administrator
 *
 */
public class HttpUtils {
    /**
     * 根据给定的网络地址,获取对应的数据资源
     *
     * @param baseUrl
     * @return
     */
    public static byte[] getDataFromNetWork(String baseUrl) {
        try {
            URL url = new URL(baseUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            int responseCode = connection.getResponseCode();
            System.out.println("响应码:" + responseCode);
            if (responseCode == HttpURLConnection.HTTP_OK) {
                InputStream inputStream = connection.getInputStream();
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                byte[] bs = new byte[1024];
                int len = 0;
                while ((len = inputStream.read(bs)) != -1) {
                    baos.write(bs, 0, len);
                }
                return baos.toByteArray();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static String getJsonFromNetWork(String baseUrl) {
        byte[] data = getDataFromNetWork(baseUrl);
        if (data != null && data.length > 0) {
            return new String(data);
        }
        return null;
    }
}

0 0