Indy IdHttp Proxy, какие протоколы поддерживают? - PullRequest
0 голосов
/ 28 октября 2018

Я использую indy idhttp для работы с telegram 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, но я могуt выяснить, какие протоколы он поддерживает или какие услуги VPN мне следует использовать?Заранее спасибо.

  idHttp.ProxyParams.ProxyServer:='xxxxxx';
  idHttp.ProxyParams.ProxyUsername:='user';
  idHttp.ProxyParams.ProxyPassword:='pass';
  idHttp.ProxyParams.ProxyPort:=xxx;

1 Ответ

0 голосов
/ 28 октября 2018

Свойство TIdHTTP.ProxyParams поддерживает только прокси-серверы на основе HTTP, которые используют глагол CONNECT для туннелирования TCP-соединений.

Для других типов прокси необходимо использовать свойство TIdIOHandlerSocket.TransparentProxy.Например, чтобы использовать прокси SOCKS, назначьте компонент TIdSocksInfo, так как VPN * TransparentProxy.

отличаются от прокси.VPN обрабатываются на сетевом уровне, а не на прикладном уровне.Сначала необходимо подключиться к VPN из-за пределов вашего приложения, затем вы можете нормально использовать свое приложение, подключив его к целевому серверу через сеть VPN.Если в вашей ОС установлена ​​только 1 сеть, это обычно выполняется автоматически.Если в вашей ОС установлено несколько сетей или вы просто хотите явно об этом сообщить, вы можете указать TIdHTTP, какое сетевое соединение использовать, задав для свойства BoundIP локальный IP-адрес нужная сеть.

...