如何使用 Indy TIdWhois 代理?
How to use proxies with Indy TIdWhois?
我不知道如何使用 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进行请求。
我做错了什么?
Indy 10 原生支持两种类型的代理:
HTTP,通过
TIdConnectThroughHttpProxy
组件。
SOCKS 4/4a/5,来自 TIdSocksInfo
组件.
要使用其中任何一个,您需要:
分配一个
TIdIOHandlerSocket
-派生组件,例如TIdIOHandlerStack
,到
客户的 IOHandler
属性.
将所需的代理组件分配给TIdIOHandlerSocket.TransparentProxy
属性,将其Host
和Port
属性设置为Host/Port所需的代理服务器,并相应地启用它(通过 TIdConnectThroughHttpProxy.Enabled
或 TIdSocksInfo.Version
属性)。
设置客户的Host
和 Port
属性到目标服务器的 Host/Port,然后 Connect()
并正常使用客户端。
我不知道如何使用 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进行请求。
我做错了什么?
Indy 10 原生支持两种类型的代理:
HTTP,通过
TIdConnectThroughHttpProxy
组件。SOCKS 4/4a/5,来自
TIdSocksInfo
组件.
要使用其中任何一个,您需要:
分配一个
TIdIOHandlerSocket
-派生组件,例如TIdIOHandlerStack
,到 客户的IOHandler
属性.将所需的代理组件分配给
TIdIOHandlerSocket.TransparentProxy
属性,将其Host
和Port
属性设置为Host/Port所需的代理服务器,并相应地启用它(通过TIdConnectThroughHttpProxy.Enabled
或TIdSocksInfo.Version
属性)。设置客户的
Host
和Port
属性到目标服务器的 Host/Port,然后Connect()
并正常使用客户端。