我刚读过关于链接代理的内容,我想在delphi中尝试一下,
好吧,我玩了indy TIdHttp
组件,我无法弄清楚如何做到这一点,
我需要两个TIdHttp
组件吗?也许一个人将请求发送给另一个人?
http1.ProxyParams.ProxyPort := Port1;
http1.ProxyParams.ProxyServer := Server1;
http2.ProxyParams.ProxyPort := Port2;
http2.ProxyParams.ProxyServer := Server2;
我只想用链式代理发送一些简单的GET / POST。
这甚至可行吗?或者还有其他任何组件来帮助我完成这项任务吗?
谢谢。
答案 0 :(得分:9)
TIdHTTP.ProxyParams
属性不支持链接。
要使用链式代理,您需要:
将TIdIOHandlerSocket
派生的组件分配给TIdHTTP.IOHandler
属性。之一:
一个。 TIdIOHandlerStack
,这是Indy的标准TCP / IP实现。
湾TIdSSLIOHandlerSocketBase
派生的组件,例如TIdSSLIOHandlerSocketOpenSSL
。如果您想使用HTTPS网址,则必须使用此功能。
将TIdCustomTransparentProxy
派生的组件分配给IOHandler的TransarentProxy
属性。 Indy默认提供两个这样的组件:
一个。 TIdSocksInfo
,它实现了SOCKS 4 / 4a / 5协议。
湾TIdConnectThroughHttpProxy
,它实现了HTTP CONNECT
动词。
通过TIdCustomTransparentProxy
属性将多个TIdCustomTransparentProxy.ChainedProxy
衍生的组件链接在一起。