0

我目前做这样的事情:

class FileDownloader{
    public static void downloadFile(URL myUrl, File myOutputFile) throws IOException{
    HttpURLConnection conn = (HttpURLConnection) myURL.openConnection();
    conn.setRequestMethod("GET");
    conn.setRequestProperty("UserAgent",
            "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11");
    InputStream is = conn.getInputStream();
    BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(myOutputFile));

    byte buf[] = new byte[1024];
    int k = 0;
    while ((k = is.read(buf)) != -1) {
        stream.write(buf, 0, k);
    }
    is.close();
    stream.close();
     }
 }

下载文件。但是在某些站点上,下载不起作用,我被转发到错误页面。当我在 Chrome 或 Firefox 甚至 Internet Explorer 中打开完全相同的 URL 时,它可以工作。

我可以设置一些 RequestProperty 来让这个东西工作吗?或者我应该使用另一个库,比如 Apache HTTP?

附加信息:我无法查看网络服务器日志,也无法调整网络服务器设置。

4

0 回答 0