美好的一天,
请帮助您了解如何通过网络代理使用idWHOIS? 我想使用免费的网络代理匿名拨打电话。
为什么idHTTP组件使用ProxyParams但idWHOIS不是这么简单?
我真的很无能:)
查看我尝试过的代码剪辑:
procedure TForm2.Button2Click(Sender: TObject);
var
ProxyHTTP :TIdConnectThroughHttpProxy;
Proxy :TIdCustomTransparentProxy;
begin
ProxyHTTP := TIdConnectThroughHttpProxy.Create(Self);
Proxy := TIdCustomTransparentProxy.Create(Self);
Try
{ idIOHandler.TransparentProxy := Proxy;
Proxy.Host := 'whois.ausregistry.net.au';
Proxy.Port := StrToInt('43');
Proxy.IPVersion := ID_DEFAULT_IP_VERSION;
// Proxy.Connect(idIOHandler, edtProxy.Text, StrToInt(edtPort.Text), ID_DEFAULT_IP_VERSION);
// Proxy.Enabled;
Proxy.ChainedProxy := ProxyHTTP;
}
idIOHandler.TransparentProxy := ProxyHTTP;
ProxyHTTP.Host := edtProxy.Text;
ProxyHTTP.Port := StrToInt(edtPort.Text);
ProxyHTTP.IPVersion := ID_DEFAULT_IP_VERSION;
ProxyHTTP.OnStatus := ProxyHTTPOnStatus;
ProxyHTTP.Enabled;
ProxyHTTP.Connect(idIOHandler, edtProxy.Text, StrToInt(edtPort.Text), ID_DEFAULT_IP_VERSION);
Memo1.Clear;
Memo1.Update;
Memo1.Lines.Text := idWhois.WhoIs(edtDomain.Text + '.com.au');
Finally
idIOHandler.Close;
idWhois.Disconnect;
Proxy.Free;
ProxyHTTP := TIdConnectThroughHttpProxy.Create(Self);
End;
end;
答案 0 :(得分:0)
首先 - 你使用whois或http协议吗?
显然你应该能够通过HTTP代理连接到后者。 WWW在这里是一起使用的几种相关技术的替代品:HTTP + SSL / TLS + WebDAV + HTML + CSS + JS等等。因此,HTTP代理可以被视为HTTP的子集,它是WWW的子集 并且无法连接到前者,因为whois不是WWW blob的一部分。
例如,同样的事情是电子邮件,它也不属于WWW领域:
例外:一些代理允许pin-holling。这被视为安全漏洞和错误配置,但有时可能通过HTTP / SSL支持命令CONNECT。但通常无法连接到每个端口,只能连接到:80和:443端口。并且极端罕见的是whois协议将在该端口上,仅HTTP或HTTPS协议。 一些服务器,如Jabber,ICQ,GTalk等许多信使,或Skype等超级节点,故意滥用这些端口:80和443提供非HTTP协议,从而帮助这些程序欺骗HTTP代理和绕过NAT隔离。但我认为你很难找到很多whois服务器这样做
无论如何,如果您发现配置不当的代理或此类特殊配置的whois服务器,您将有机会使用它。 否则,您只能将现有WWW前端的idHTTP用于whois服务器。大多数DNS名称注册商都提供它们,因此用户可以使用没有特殊工具但只使用WWW浏览器来检查数据。
Google for“http proxy ssl connect pinholling”,了解有关此类HTTP代理使用的详细信息。 Google为“NAT Traversal”和“Proxy Tunelling”提供了更为一般的概念。 有时,VPN技术被误用于隧道外。
PS。这不回答“我怎么做” - 没有100%可靠的方法 - 但希望回答“为什么idHTTP组件如此简单,有ProxyParams但没有idWHOIS?”。
我想如果通过HTTP代理向我们提供idSMTP或其他电子邮件组件,你会遇到同样的障碍。
PPS。还有更通用的代理类型 - Socks Proxy - 应该允许转发任何TCP类协议。但它们是非常罕见的。