delphi中的链式代理

时间:2013-08-11 01:58:13

标签: delphi proxy indy chained

我刚读过关于链接代理的内容,我想在delphi中尝试一下, 好吧,我玩了indy TIdHttp组件,我无法弄清楚如何做到这一点, 我需要两个TIdHttp组件吗?也许一个人将请求发送给另一个人?

  http1.ProxyParams.ProxyPort := Port1;
  http1.ProxyParams.ProxyServer := Server1;

  http2.ProxyParams.ProxyPort := Port2;
  http2.ProxyParams.ProxyServer := Server2;

我只想用链式代理发送一些简单的GET / POST。

这甚至可行吗?或者还有其他任何组件来帮助我完成这项任务吗?

谢谢。

1 个答案:

答案 0 :(得分:9)

TIdHTTP.ProxyParams属性不支持链接。

要使用链式代理,您需要:

  1. TIdIOHandlerSocket派生的组件分配给TIdHTTP.IOHandler属性。之一:

    一个。 TIdIOHandlerStack,这是Indy的标准TCP / IP实现。

    TIdSSLIOHandlerSocketBase派生的组件,例如TIdSSLIOHandlerSocketOpenSSL。如果您想使用HTTPS网址,则必须使用此功能。

  2. TIdCustomTransparentProxy派生的组件分配给IOHandler的TransarentProxy属性。 Indy默认提供两个这样的组件:

    一个。 TIdSocksInfo,它实现了SOCKS 4 / 4a / 5协议。

    TIdConnectThroughHttpProxy,它实现了HTTP CONNECT动词。

  3. 通过TIdCustomTransparentProxy属性将多个TIdCustomTransparentProxy.ChainedProxy衍生的组件链接在一起。