如何将 TIdWhois 与 SOCKS 代理一起使用

How to use TIdWhois with SOCKS proxy

我正在使用此代码获取 whois 信息:

IdWhois1.Host := 'whois.nic.tld';
ServerResultStr := IdWhois1.WhoIs('google.tld');

但我需要使用 SOCKS 代理服务器查询 whois 服务器(端口 43)。

我正在使用 Delphi 10.3.3。有什么方法可以通过使用 TIdWhois 来实现吗?

SOCKS 在 Indy 中使用 TIdSocksInfo 组件处理。您可以根据需要使用代理详细信息(主机、端口、版本、身份验证等)对其进行配置。

要使 TIdWhois(或任何 TCP 客户端)通过 TIdSocksInfo 连接到其目标服务器,您需要执行以下操作:

  • TIdIOHandlerSocket 派生的组件(TIdIOHandlerStack 或任何 TIdSSLIOHandlerSocketBase 派生的组件,如 TIdSSLIOHandlerSocketOpenSSL)分配给 TIdWhois.IOHandler 属性.

  • TIdSocksInfo 分配给 IOHandlerTransparentProxy 属性.