我正在尝试使用以下方法下载此文件(http://github.com/downloads/TheHolyWaffle/ChampionHelper/ChampionHelper-4.jar),但似乎不起作用。我得到了一个空的/损坏的文件。
但我可以使用相同的方法从我的Dropbox成功下载以下文件(http://dl.dropbox.com/u/13226123/ChampionHelper-4.jar)。所以,某种方式上,Github 知道我不是尝试下载文件的常规用户。我已经尝试过更改用户代理,但这也没有帮助。那么,我应该如何使用Java下载托管在我的Github帐户上的文件呢?编辑:我尝试使用apache commons-io进行此操作,但我得到了相同的效果,一个空/损坏的文件。
String link = "http://github.com/downloads/TheHolyWaffle/ChampionHelper/ChampionHelper-4.jar";
String fileName = "ChampionHelper-4.jar";
URL url = new URL(link);
URLConnection c = url.openConnection();
c.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 1.2.30703)");
InputStream input;
input = c.getInputStream();
byte[] buffer = new byte[4096];
int n = -1;
OutputStream output = new FileOutputStream(new File(fileName));
while ((n = input.read(buffer)) != -1) {
if (n > 0) {
output.write(buffer, 0, n);
}
}
output.close();
但我可以使用相同的方法从我的Dropbox成功下载以下文件(http://dl.dropbox.com/u/13226123/ChampionHelper-4.jar)。所以,某种方式上,Github 知道我不是尝试下载文件的常规用户。我已经尝试过更改用户代理,但这也没有帮助。那么,我应该如何使用Java下载托管在我的Github帐户上的文件呢?编辑:我尝试使用apache commons-io进行此操作,但我得到了相同的效果,一个空/损坏的文件。