Я написал следующий код Java для загрузки файла с сервера, использующего базовую аутентификацию http.Но я получаю Http 401 ошибку. Однако я могу загрузить файл, нажав URL-адрес непосредственно из браузера.
OutputStream out = null;
InputStream in = null;
URLConnection conn = null;
try {
// Get the URL
URL url = new URL("http://username:password@somehost/protected-area/somefile.doc");
// Open an output stream for the destination file locally
out = new BufferedOutputStream(new FileOutputStream("file.doc"));
conn = url.openConnection();
in = conn.getInputStream();
// Get the data
byte[] buffer = new byte[1024];
int numRead;
while ((numRead = in.read(buffer)) != -1) {
out.write(buffer, 0, numRead);
}
} catch (Exception exception) {
exception.printStackTrace();
}
Но я получаю следующее исключение при запуске программы:
java.io.IOException: Server returned HTTP response code: 401 for URL: http://username:password@somehost/protected-area/somefile.doc
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
at TestDownload.main(TestDownload.java:17)
Однако я могу загрузить файл, нажав URL-адрес http://username:password@somehost/protected-area/somefile.doc, непосредственно из браузера.
Что может быть причиной этой проблемы, и любой способисправить это?
Пожалуйста, помогите Спасибо.