Открыть URL-адрес в Java для получения содержимого
Я ищу возможность открыть URL-адрес в java.
URL url = new URL("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de");
InputStream is = url.openConnection().getInputStream();
BufferedReader reader = new BufferedReader( new InputStreamReader( is ) );
String line = null;
while( ( line = reader.readLine() ) != null ) {
System.out.println(line);
}
reader.close();
Я нашел этот путь.
Я добавил его в свою программу и произошла следующая ошибка.
The method openConnection() is undefined for the type URL
(по url.openConnection())
В чем моя проблема?
Я использую tomcat-сервер с сервлетами,...
Ответы
Ответ 1
public class UrlContent{
public static void main(String[] args) {
URL url;
try {
// get URL content
String a="http://localhost:8080/TestWeb/index.jsp";
url = new URL(a);
URLConnection conn = url.openConnection();
// open the stream and put it into BufferedReader
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String inputLine;
while ((inputLine = br.readLine()) != null) {
System.out.println(inputLine);
}
br.close();
System.out.println("Done");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ответ 2
String url_open ="http://javadl.sun.com/webapps/download/AutoDL?BundleId=76860";
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url_open));
Ответ 3
Это работает для меня.
Проверьте, используете ли вы правильный импорт?
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
Ответ 4
Следующий код должен работать,
URL url = new URL("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de");
InputStream is = url.openConnection().getInputStream();
BufferedReader reader = new BufferedReader( new InputStreamReader( is ) );
String line = null;
while( ( line = reader.readLine() ) != null ) {
System.out.println(line);
}
reader.close();
Ответ 5
Вы уверены, что используете класс java.net.URL
? Проверьте свои операторы импорта.
Ответ 6
Возможно, более полезно использовать клиентскую библиотеку http, например this
Есть больше вещей, таких как отказ в доступе, перемещение документа и т.д. для обработки при работе с http.
(хотя в этом случае это маловероятно)
Ответ 7
Если вы просто хотите открыть веб-страницу, я думаю, что в этом случае меньше:
import java.awt.Desktop;
import java.net.URI; //Note this is URI, not URL
class BrowseURL{
public static void main(String args[]) throws Exception{
// Create Desktop object
Desktop d=Desktop.getDesktop();
// Browse a URL, say google.com
d.browse(new URI("http://google.com"));
}
}
}
Ответ 8
Я нашел этот вопрос, пока гуглил. Обратите внимание, что если вы просто хотите использовать содержимое URI через что-то вроде строки, рассмотрите возможность использования метода Apache IOUtils.toString()
.
Например, пример строки кода может быть:
String pageContent = IOUtils.toString("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de", Charset.UTF_8);