我试过这个......给了我一个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();
}
答案 0 :(得分:0)
whois
是通过TCP端口43运行的协议,而不是通过HTTP / HTTPS。它没有代理的概念。
出于这两个原因,请不要使用HTTP库连接到whois
服务器,因为这将无法正常使用。你会创造太多问题。相反,要么在您的编程语言中使用特定的whois
库,要么只是在端口43上打开TCP套接字,在其上写下您的查询,按CR + LF结束并将服务器的回复读回一团文字。
如果您需要隐藏您的IP地址,您需要采用典型的IP级别"重定向"像隧道或SOCKS库。