Получение файла по URL - ошибка
Благодаря этому вопросу ( ссылка) я знаю, как скачать файл из интернета. Однако вместо обычного текста в текстовом файле я получаю HTML-ответ. Кто-нибудь знает, что я делаю не так?
Вот мой код:
// Install Authenticator
MyAuthenticator.setPasswordAuthentication("Username", "Password");
Authenticator.setDefault (new MyAuthenticator(Main.getPropertyPath()));
URL website = new URL("http://.../5-Anhang.txt?revision=1260");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.txt");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
РЕДАКТИРОВАНИЕ
Отклик:
<html>
<body onLoad='document.forms["login"].submit();'>
<form id='login' method='POST' action='/polarion/j_security_check'>
<input type='hidden' name='j_username' value='null'/>
<input type='hidden' name='j_password' value='null'/>
<noscript>
<input type='submit' value="Login"/>
</noscript>
</form>
</body>
</html>
2 ответа
Решение
Поскольку комментарий не читается, выкладываю ответ.
import java.io.*;
import java.net.*;
public class App {
public static void main(String[] args) throws Exception{
URL url = new URL("http://localhost:8080/js/txt1.txt");
// read text
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
}
}
Ниже код работал для чтения текстового файла в формате ниже
Novak Djokovic
Andy Murray
Roger Federer
Nishokiri
Выход
Новак Джокович
Энди Мюррей
Роджер Федерер
Nishokiri
Похоже, что я мог бы найти класс "revision=1260" на веб-странице и вернуть это