Java 中使用代理下载文件 - 代码示例

本文介绍了如何在 Java 中使用代理下载文件,并提供了代码示例。通过设置 URLConnection 的代理,可以轻松地使用代理服务器进行文件下载。

代码示例

private void downloadFile(String urlStr, String filePath) {
    // 指定希望保存的文件路径
    // String filePath = '/Users/fund_bill_20160405.zip';
    URL url = null;
    HttpURLConnection httpUrlConnection = null;
    InputStream fis = null;
    FileOutputStream fos = null;
    try {
        // 创建代理对象
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress('代理服务器地址', 代理服务器端口号));

        url = new URL(urlStr);
        httpUrlConnection = (HttpURLConnection) url.openConnection(proxy);
        httpUrlConnection.setConnectTimeout(DOWNLOD_CON_TIMEOUT);
        httpUrlConnection.setDoInput(true);
        httpUrlConnection.setDoOutput(true);
        httpUrlConnection.setUseCaches(false);
        httpUrlConnection.setRequestMethod(HTTP_TYPE);
        httpUrlConnection.setRequestProperty(HTTP_REQUEST_CHARSERT, ConCommConstant.ENCODING_UTF_8);
        httpUrlConnection.connect();
        fis = httpUrlConnection.getInputStream();
        byte[] temp = new byte[1024];
        int b;
        fos = new FileOutputStream(new File(filePath));
        while ((b = fis.read(temp)) != -1) {
            fos.write(temp, 0, b);
            fos.flush();
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (fis != null) fis.close();
            if (fos != null) fos.close();
            if (httpUrlConnection != null) httpUrlConnection.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

说明

  1. 首先创建一个 Proxy 对象,指定代理服务器的地址和端口号。
  2. 在打开 URL 连接之前,调用 openConnection(Proxy proxy) 方法,将 Proxy 对象传入。
  3. 在代码中,请将 '代理服务器地址'代理服务器端口号' 替换为实际的代理服务器地址和端口号。

其他

除了使用 Proxy 对象设置代理之外,还可以使用 System.setProperty('proxySet', 'true') 等方法设置代理。

希望这篇文章对您有所帮助。


原文地址: https://www.cveoy.top/t/topic/o3p8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录