首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Indy IdHttp代理,哪些协议支持?

Indy IdHttp代理,哪些协议支持?
EN

Stack Overflow用户
提问于 2018-10-28 09:11:05
回答 1查看 658关注 0票数 0

我正在使用idhttp来处理电报api,我的代码如下所示:

代码语言:javascript
复制
  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服务?提前谢谢。

代码语言:javascript
复制
  idHttp.ProxyParams.ProxyServer:='xxxxxx';
  idHttp.ProxyParams.ProxyUsername:='user';
  idHttp.ProxyParams.ProxyPassword:='pass';
  idHttp.ProxyParams.ProxyPort:=xxx;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-28 18:19:15

TIdHTTP.ProxyParams属性只支持使用CONNECT谓词来隧道TCP连接的基于CONNECT的代理。

对于其他类型的代理,您必须使用TIdIOHandlerSocket.TransparentProxy属性。例如,要使用SOCKS代理,将TIdSocksInfo组件指定为TransparentProxy

VPN与代理不同。VPN是在网络层,而不是在应用层处理的。您必须先从应用程序外部连接到VPN,然后才能正常使用应用程序,通过VPN网络将其连接到目标服务器。如果您的操作系统只有一个网络安装,这通常是自动为您处理。如果您的操作系统安装了多个网络,或者您只是想明确地了解它,那么您可以通过将其TIdHTTPBoundIP属性设置为所需网络的本地IP地址来告诉它要使用哪个网络连接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53029947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档