【问题标题】:Indy IdHttp Proxy, which protocols Support?Indy IdHttp Proxy,支持哪些协议?
【发布时间】:2018-10-29 02:24:31
【问题描述】:

我正在使用 indy 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;

【问题讨论】:

    标签: delphi proxy indy10


    【解决方案1】:

    TIdHTTP.ProxyParams 属性仅支持使用 CONNECT 动词隧道 TCP 连接的基于 HTTP 的代理。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 2011-01-06
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多