0

我无法弄清楚如何将代理与TIdWhois. 有人对我有线索吗?

按照 Remy 的描述,我使用以下代码:

w:=TIdWhois.Create(nil);
p:=TIdConnectThroughHttpProxy.Create(nil);
io:=TIdIOHandlerStack.Create(nil);
p.Host:=<proxy-ip>
p.port:=<proxy-port>
io.TransparentProxy:=p;
w.io:=io;
w.host:=<whois-server>
w.port:=43;
w.WHoIs(<domain>);

监控端口,它仍然使用我的真实 IP 进行请求。

我究竟做错了什么?

4

1 回答 1

1

Indy 10 原生支持两种类型的代理:

  • HTTP,通过 TIdConnectThroughHttpProxy组件。

  • SOCKS 4/4a/5,通过TIdSocksInfo 组件。

要使用其中任何一个,您需要:

  1. TIdIOHandlerSocket派生的组件(例如 )分配TIdIOHandlerStack给客户端的IOHandler属性。

  2. 将所需的代理组件分配给TIdIOHandlerSocket.TransparentProxy属性,将其HostPort属性设置为所需代理服务器的主机/端口,并相应地启用它(通过TIdConnectThroughHttpProxy.EnabledorTIdSocksInfo.Version属性)。

  3. 将客户端的HostPort属性设置为目标服务器的Host/Port,然后就Connect()可以正常使用客户端了。

于 2017-03-30T15:46:45.220 回答