#java #url #networking #uri
#java #url #сеть #uri
Вопрос:
Я программирую Java-приложение, которое проверяет исходный код веб-страницы и показывает мне эту веб-страницу в моем браузере по умолчанию, когда выполняется условие в исходном коде. Я получаю свой исходный код следующим образом:
Источник строки = getUrlSource(myURL);
Чтобы показать конкретную веб-страницу, я знаю, что могу использовать:
java.awt.Desktop.getDesktop().browse(myURI);
Но этого недостаточно для моего приложения из-за переменного содержимого, как я могу заставить java показать мне веб-страницу, которая закодирована в исходном коде строки? Мне нужен эквивалент чего-то, что выглядело бы как
java.awt.Desktop.getDesktop().browse(sourceCodeString).
Обновление: если условие не выполнено, будет перезагружена та же страница. Таким образом, полная программа выполняется по 1 URL. Java, вероятно, не подходит для этой цели, возможно, у кого-то есть язык получше для такого поведения>
Спасибо за вашу помощь,
Комментарии:
1. Итак,
sourceCodeString
содержит HTML-исходный код страницы, которую вы хотите показать?2. да, в строковом формате
Ответ №1:
Вы можете сохранить строку в файле и открыть файл.
public class Test {
public static void main(String[] args) throws IOException {
String html = "<html><body>Hello Browser</body></html>";
File file = new File("test.html");
FileWriter writer = new FileWriter(file);
writer.write(html);
writer.close();
Desktop.getDesktop().browse(file.toURI());
}
}
Комментарии:
1. Это действительно более или менее работает. Проблема в том, что некоторые изображения (или динамические элементы, без понятия) не загружаются. Java, вероятно, не тот язык для выполнения того, что я хочу сделать.
2. Вы можете использовать абсолютные ссылки на сервер для своих ресурсов. Пример для абсолютных ссылок: <img src=»file:C:whateverimg.jpg «>
3. @user2874101 У вас в любом случае возникнет проблема с изображениями — независимо от того, какой язык программирования вы используете. URL-адреса изображений внутри вашего HTML, возможно, относительны, поэтому их нельзя разрешить должным образом.
4. Я понимаю, но не могу поверить, что нет более простого решения.. Нет ли функции, которая откроет веб-сайт в браузере и в качестве возвращаемого значения выдаст исходный код .. это помогло бы..
5. В обычной Java я так не думаю. Но может быть, что есть библиотека, но я не знаю.