我无法弄清楚如何使用代理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来处理请求。
我做错了什么?
答案 0 :(得分:2)
Indy 10本身支持两种类型的代理:
HTTP,通过
TIdConnectThroughHttpProxy
组件。
SOCKS 4 / 4a / 5,通过TIdSocksInfo
成分
要使用其中任何一个,您需要:
分配一个
TIdIOHandlerSocket
- 派生组件,例如TIdIOHandlerStack
客户的IOHandler
财产。
将所需的代理组件分配给TIdIOHandlerSocket.TransparentProxy
属性,将其Host
和Port
属性设置为所需代理服务器的主机/端口,并相应地启用它(通过TIdConnectThroughHttpProxy.Enabled
或TIdSocksInfo.Version
属性。
设置客户Host
和Port
属性到目标服务器的主机/端口,然后Connect()
并正常使用客户端。