我正在使用idhttp来处理电报api,我的代码如下所示:
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
idHttp.ReadTimeout := 30000;
idHttp.IOHandler:=LHandler;
LHandler.SSLOptions.Method := sslvTLSv1;
LHandler.SSLOptions.Mode := sslmUnassigned;
idHttp.HandleRedirects := true;
//Proxy Code...
idHttp.Post( API + msg, Params, Stream);我的代码运行得很好,但问题是由于我国的审查和过滤,我不得不使用VPN服务,如AnyConnect、L2TP、.现在我的问题是如何使用Indy ProxyParams来绕过审查和发布数据,当然,我知道我必须在idhttp.post之前添加下面的代码,但是我不知道它支持哪些协议,或者应该使用哪些VPN服务?提前谢谢。
idHttp.ProxyParams.ProxyServer:='xxxxxx';
idHttp.ProxyParams.ProxyUsername:='user';
idHttp.ProxyParams.ProxyPassword:='pass';
idHttp.ProxyParams.ProxyPort:=xxx;发布于 2018-10-28 18:19:15
TIdHTTP.ProxyParams属性只支持使用CONNECT谓词来隧道TCP连接的基于CONNECT的代理。
对于其他类型的代理,您必须使用TIdIOHandlerSocket.TransparentProxy属性。例如,要使用SOCKS代理,将TIdSocksInfo组件指定为TransparentProxy。
VPN与代理不同。VPN是在网络层,而不是在应用层处理的。您必须先从应用程序外部连接到VPN,然后才能正常使用应用程序,通过VPN网络将其连接到目标服务器。如果您的操作系统只有一个网络安装,这通常是自动为您处理。如果您的操作系统安装了多个网络,或者您只是想明确地了解它,那么您可以通过将其TIdHTTP的BoundIP属性设置为所需网络的本地IP地址来告诉它要使用哪个网络连接。
https://stackoverflow.com/questions/53029947
复制相似问题