Как использовать прокси с Indy TIdWhois?

Я не могу понять, как использовать прокси с TIdWhois, У кого-нибудь есть подсказка для меня?

Следуя описанию Реми, я использую следующий код:

w:=TIdWhois.Create(nil);
p:=TIdConnectThroughHttpProxy.Create(nil);
io:=TIdIOHandlerStack.Create(nil);
p.Host:=<proxy-ip>
p.port:=<proxy-port>
io.TransparentProxy:=p;
w.io:=io;
w.host:=<whois-server>
w.port:=43;
w.WHoIs(<domain>);

Мониторинг портов, он все еще использует мой реальный IP для запроса.

Что я делаю неправильно?

1 ответ

Решение

Indy 10 изначально поддерживает два типа прокси:

  • HTTP, черезTIdConnectThroughHttpProxy составная часть.

  • НОСКИ 4/4А /5, через TIdSocksInfoсоставная часть.

Чтобы использовать любой из них, вам необходимо:

  1. НазначитьTIdIOHandlerSocketкомпонент, такой как TIdIOHandlerStack, для клиента IOHandler имущество.

  2. Назначьте нужный прокси-компонент TIdIOHandlerSocket.TransparentProxy свойство, установите его Host а также Port Свойства хоста / порта нужного прокси-сервера и включите его соответствующим образом (через TIdConnectThroughHttpProxy.Enabled или же TIdSocksInfo.Version имущество).

  3. Установить клиента Hostа также Port Свойства к хосту / порту целевого сервера, а затем Connect() и пользуйся клиентом нормально.

Другие вопросы по тегам