如何将 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
分配给 IOHandler
的 TransparentProxy
属性.
我正在使用此代码获取 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
分配给IOHandler
的TransparentProxy
属性.