1

私はウェブクローラーを構築しています。これを読んで、DNS 解決が遅いことを理解したので、DNS リゾルバーを分​​離する必要があります。

したがって、String urlString http://google.comがあるとします。次のよう にして、それを IP に変換できます。

URL url = new URL(urlString)
InetAddress ip = InetAddress.getByName(url.getHost());

では、実際の Web サイト自体をどのようにダウンロードするのでしょうか。

URL を使用すると、次のように実行できます。

String htmlDocumentString = new Scanner(new url.openStream(), "UTF-8").useDelimiter("\\A").next();

しかし、解決された IP を使用したい場合、IP を使用して URL を手動で再構築する必要がありますか? 方法はありませんurl.setHost()。ちょっと面倒に思えますか?

4

2 に答える 2

0

URL からの読み取りは簡単です。

public class URLReader {
public static void main(String[] args) throws Exception {

    URL oracle = new URL("http://www.oracle.com/");
    BufferedReader in = new BufferedReader(
    new InputStreamReader(oracle.openStream()));

    String inputLine;
    while ((inputLine = in.readLine()) != null)
        System.out.println(inputLine);
    in.close();
}

から取得: http://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html

于 2013-04-12T02:50:48.860 に答える