Java:URL请求身份验证时从URL下载文件

时间:2013-06-27 20:02:19

标签: java url authentication login download

我正在尝试从网址下载文件。服务器运行apache httpd并首先需要用户名密码登录/身份验证。然后当我把这个URL放在浏览器中时,我得到下载提示来下载这个zip文件。

我怎样才能用Java做到这一点?我正在学习Java,而且我来自Python背景。任何帮助是极大的赞赏。

编辑:服务器在HTTPS身份验证上运行。

2 个答案:

答案 0 :(得分:1)

或者,如果你想保证安全:

HttpResponse res;
DefaultHttpClient httpclient = new DefaultHttpClient();
String authorizationString = "Basic " + Base64.encodeToString(("admin" + ":" + "").getBytes(), Base64.NO_WRAP); //this line is diffe
authorizationString.replace("\n", "");
try {
    HttpGet request = new HttpGet(URI.create(url));
    request.addHeader("Authentication",authorizationString);
    res = httpclient.execute(request);
    return new MjpegInputStream(res.getEntity().getContent());              
} catch (ClientProtocolException e) {e.printStackTrace();}
} catch (IOException e) {e.printStackTrace();}

答案 1 :(得分:0)

如果服务器使用BASIC身份验证,您应该可以通过在URL中指定用户名/密码来获取资源:http://user:password@hostname/path/filename.ext

浏览器也支持此功能,因此您可以在浏览器中快速尝试。