2

ファイルをhtml形式で取得してダウンロードしようとしています。以下はコードブロックです。

import java.net.*;
import java.io.*;

public class URLReader {

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

    System.setProperty("http.proxyHost", "webcache.mydomain.com");
    System.setProperty("http.proxyPort", "8080");

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

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

ここで、この Java ファイルを実行しようとすると、次のエラーが表示されます。

D:\Build>javac URLReader.java

D:\Build>java URLReader

Exception in thread "main" java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:227)
    at sun.net.www.http.HttpClient.New(HttpClient.java:300)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:977)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:925)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
    at java.net.URL.openStream(URL.java:1010)
    at URLReader.main(URLReader.java:12)

コードに問題はないと思います。自宅でこのコードを実行しようとしたときにうまくいったからです。しかし、オフィスで試してみると、エラーが表示されました。ですから、私のオフィスには何らかの閉塞があるに違いないと思います。

ここでコードにプロキシを設定して、機能するようにすることはできますか?

4

2 に答える 2

4

プロキシの背後にいる場合は、プロキシJavaを使用するように構成する必要があります。ネットワークプログラムにプロキシを設定する方法については、こちらをお読みください

于 2013-05-28T05:33:07.550 に答える