Whois通过代理服务器查找:java.lang.IllegalArgumentException:无效的代理

问题描述 投票:0回答:1

我试过这个...给我一个java.lang.IllegalArgumentException: Invalid Proxy。 getter从文本文件填充代理和端口。

    //Imports
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.net.*;
    import java.util.ArrayList;

    import org.apache.commons.net.whois.WhoisClient;

    public void  whoisCheck(String host) {
        SocketAddress addr = new InetSocketAddress(getProxy(), getPort)
        Proxy useProxy = new Proxy(Proxy.Type.HTTP, addr);

        WhoisClient whoisClient = new WhoisClient();
        whoisClient.setProxy(useProxy);
        whoisClient.connect(IANA_WHOIS_SERVER, WHOIS_PORT);
        tmpStr = whoisClient.query(host);
        whoisClient.disconnect();
    }
java proxy whois
1个回答
0
投票

whois是一个通过TCP端口43运行的协议,而不是通过HTTP / HTTPS。它没有代理的概念。

出于这两个原因,不要使用HTTP库连接到whois服务器,因为这将无法正常使用。你会创造太多问题。相反,要么在您的编程语言中使用特定的whois库,要么只是在端口43上打开TCP套接字,在其上写下您的查询,通过CR + LF完成并将服务器的回复读回作为一团文本。

如果需要隐藏IP地址,则需要采用典型的IP级“重定向”,如隧道或SOCKS库。

© www.soinside.com 2019 - 2024. All rights reserved.