Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как подключить TIdTCPClient чарез прокси-сервер, Организация работы через прокси-сервер 
V
    Опции темы
dx22
Дата 4.5.2008, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Как можно организовать работу TIdTCPClient (indy 10) через прокси-сервер? (Клиент<->Прокси-сервер<->Сервер-приложение).



PM MAIL   Вверх
SneG0K
Дата 4.5.2008, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 2
Всего: 54



Эээ... Да просто подключайся к прокси, а не к серверу... И уже на основе прокси передавай команды...
PM WWW Skype   Вверх
dx22
Дата 5.5.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



TIdTCPClient <-TIdIOHandlerSocket <-TIdSocksInfo

пробовал в indy9   TIdSocksInfo настраивал на прокси, а в TIdTCPClient  указывал внешний ip и port  сервера. не хочет соединяться ошибка 10061 в доступе отказано, Через IE на тойже машине все нормально работает, через тот же прокси. В чем может проблема быть?
PM MAIL   Вверх
SneG0K
Дата 5.5.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 2
Всего: 54



Да ну сказал уже, что соединяйся напрямую с проксиком! 
PM WWW Skype   Вверх
Sanchezzz
  Дата 5.5.2008, 19:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



ошибка 10061 это ошибка то что он его не находит.
1 кидаешь на форму клиент сокет далее IdIOHandlerStack
2 кидаешь на форму IdSocksInfo вбиваешь все поля. обязательно укажи версию сокета 5. 
--
точно такжеи для http IdConnectThroughHttpProxy + свойство Enable:=true;

Совет дня!!!
Создавай сокеты динамически и подставляй меньше глюков будет... 

---
таких например как зацепился потом связь оборвалась и потом не можешь зацепится иза того что сокет не освободился пока дождешься минут 5 проходит а так сокет сразу убиваешь и его можно опять использовать... 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
dx22
Дата 6.5.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



всем спасибо,разобрался, усё вроде заработало.

для indy 10.1.5 использовал
TIdTCPClient.IOHandler <- IdIOHandlerStack1.TransparentProxy <- TIdSocksInfo

PM MAIL   Вверх
alexstep
Дата 4.3.2011, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.3.2011

Репутация: нет
Всего: нет



Разобрался с этой темой.
Написал инструкцию (Indy 10) для подключения прокси. 
Компоненты создаю динамически:

  //Create proxy object(HTTP/Socks) and init it's parameters
  //For UDP
    //Proxy.Enabled := True;
    //UDPClient.TransparentProxy := Proxy;
  //For TCP: Create IdIOHandlerStack
    //Assign IdIOHandlerStack.TransparentProxy = Proxy;
    //!!! Only now set to Enabled!!! It's reseted when TransparentProxy is assigned
    //Set IdIOHandlerStack.TransparentProxy.Enabled := True;
    //Set IdTCPClient.IOHandler := IdIOHandlerStack;

Код

///////////////
//UDP Sample:
///////////////
  UDPClient := TIdUDPClient.Create(nil);
  UDPClient.Host := FIp;
  UDPClient.Port := FPort;
  UDPClient.ReceiveTimeout := constReceiveTimeOut;
  
  SocksProxy := TIdSocksInfo.Create(nil);
  SocksProxy.Version := svSocks5;
  SocksProxy.Host := Proxy.Host;
  SocksProxy.Port := Proxy.Port;
  SocksProxy.Enabled := True;

  UDPClient.TransparentProxy := SocksProxy;
//---------


///////////////
//TCP Sample:
///////////////
  TCPClient := TIdTCPClient.Create(nil);
  TCPClient.Host := FIp;
  TCPClient.Port := FPort;
  TCPClient.ConnectTimeout := constReceiveTimeOut;
  TCPClient.ReadTimeout := constReceiveTimeOut;

  IdIOHandlerStack := TIdIOHandlerStack.Create(nil);
  
  HttpProxy := TIdConnectThroughHttpProxy.Create(nil);
  SocksProxy := TIdSocksInfo.Create(nil);

  HttpProxy.Host := Proxy.Host;
  HttpProxy.Port := Proxy.Port;

  SocksProxy.Version := svSocks5;
  SocksProxy.Host := Proxy.Host;
  SocksProxy.Port := Proxy.Port;

  IdIOHandlerStack.TransparentProxy := HttpProxy;
  //or
  //IdIOHandlerStack.TransparentProxy := SocksProxy;

  IdIOHandlerStack.TransparentProxy.Enabled := True;

  TCPCLient.IOHandler := IdIOHandlerStack;
//---------


Это сообщение отредактировал(а) alexstep - 4.3.2011, 02:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.