我现在做的事情是这样的:
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我可以设置让这个东西工作?或者我应该使用另一个lib,比如Apache HTTP吗?
附加信息:我无法查看Web服务器日志,也无法调整网络服务器设置。