我正在尝试从网址下载文件。服务器运行apache httpd并首先需要用户名密码登录/身份验证。然后当我把这个URL放在浏览器中时,我得到下载提示来下载这个zip文件。
我怎样才能用Java做到这一点?我正在学习Java,而且我来自Python背景。任何帮助是极大的赞赏。
编辑:服务器在HTTPS身份验证上运行。
答案 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
浏览器也支持此功能,因此您可以在浏览器中快速尝试。