0

はい、SOverflow にも同様の質問がありますが、残念ながら解決策は見つかりませんでした。

私の目標は: JAVAでsocks(v4 | 5)を介してURLコンテンツを取得する

私のサンプルコード:

        String result = "";
        SocketAddress addr = new InetSocketAddress("180.211.179.30", 1080);
        Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
        URL url = new URL("http://api.exip.org/?call=ip");
        URLConnection conn = url.openConnection(proxy);
        BufferedReader in = new BufferedReader(
                new InputStreamReader(
                conn.getInputStream()));

        StringBuilder response = new StringBuilder();
        String inputLine;

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }

        in.close();

        result = response.toString();
        System.out.println(result); 

ただし、http(s) プロキシ タイプで動作している間は、常に「java.net.SocketException: SOCKS サーバーからの不正な応答」が返されます。

スレッド「メイン」での例外 java.net.SocketException: java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:128) の SOCKS サーバーからの不正な応答が java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459) で java. net.Socket.connect(Socket.java:579) で java.net.Socket.connect(Socket.java:528) で sun.net.NetworkClient.doConnect(NetworkClient.java:180) で sun.net.www.http .HttpClient.openServer(HttpClient.java:378) at sun.net.www.http.HttpClient.openServer(HttpClient.java:473) at sun.net.www.http.HttpClient.(HttpClient.java:203) at sun. .net.www.http.HttpClient.New(HttpClient.java:290)、sun.net.www.http.HttpClient.New(HttpClient.java:306)、sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient (HttpURLConnection.java:995) (sun.net.www.protocol.http.HttpURLConnection)。plainConnect(HttpURLConnection.java:974) の sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:849) の sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299) app.speedproxy.model.utils.TestJava.main (TestJava.java:33) で Java 結果: 1

私のシステム構成: Oracle JVM を使用した Ubuntu 12.04

Apache の httpclient と scocketfactory の実装を試しましたが、同じ例外が発生します。反省していただける方がいらっしゃいましたら、よろしくお願いいたします。ありがとう。

4

0 に答える 0