Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2008, 17:04   #11
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Ровно так как это описано в
http://www.indyproject.org/KB/index....socksproxy.htm
Цитата:
For Indy 9.0

1. Create an IOHandler such as TIdIOHandlerSocket or TIdSSLIOHandlerSocket and assign the TIdFTP.IOHandler property this.
2. Set the TIdFTP.Passive property to true.
3. Create a TIdSocksInfo object and assign it to the IOHandler's SocksInfo property.
4. Set the TIdSocksInfo properties as required.




For Indy 10

1. Create an IOHandler such as TIdIOHandlerStack or SSL IOHandler and assign the TIdFTP.IOHandler property this.
2. Create a TIdSocksInfo object and assign it to the IOHandler's TransparentProxy property.
3. Set the TIdSocksInfo properties as required.
4. If there is another proxy that the SOCKS Proxy itself needs to use, you have to use, set the Chained Proxy to a TIdCustomTransparentProxy such as TIdSocksInfo for another socks Proxy or a TIdConnectThroughHttpProxy for a HTTP Tunneling proxy.
5. If you are not using another type of chained proxy, you may be able to use standard PORT transfers if your SOCKS proxy supports the bind method described in SOCKS: A protocol for TCP proxy across firewalls (http://archive.socks.permeo.com/prot...ocks4.protocol) and RFC 1928 - SOCKS Protocol Version 5. If your SOCKS proxy does not support that capability, you have to use PASV (Passive := True) transfers.
пример в вложении.
Вложения
Тип файла: rar ftp.rar (5.0 Кб, 48 просмотров)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.08.2008, 10:28   #12
BESS
Пользователь
 
Аватар для BESS
 
Регистрация: 30.07.2008
Сообщений: 48
По умолчанию

у меня ошибку пишет socket error # 10065 no route to host
во время коннекта


прокси сервер работает сам через него сейчас сижу

подскажите где ошибка или в чем


Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
IdFTP1.IOHandler:=IdIOHandlerSocket2;
idftp1.Passive:=true;
IdIOHandlerSocket2.SocksInfo.Assign(IdSocksInfo1);
with IdSocksInfo1 do
begin
Version:=svSocks5;
Host:='192.168.101.198';
Authentication:=saNoAuthentication;
{Username:='';
Password:='';}
Port:=1080;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with IdFTP1 do
begin
Username:='login';
Password:='password';
Host:='777.777.777.777';
Port:=21;
Connect;
if Connected then Button1.Caption:='yes';
end;
end;


P.S. не судите строго что туплю по страшному это мой первый опыт сетевого программирования

Последний раз редактировалось BESS; 28.08.2008 в 10:41. Причина: uuuupss
BESS вне форума Ответить с цитированием
Старый 28.08.2008, 10:37   #13
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

no route to host= неизвестный маршрут до узла
по-мойму ответ в вопросе.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.08.2008, 10:40   #14
BESS
Пользователь
 
Аватар для BESS
 
Регистрация: 30.07.2008
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
no route to host= неизвестный маршрут до узла
по-мойму ответ в вопросе.
так в чем ошибка? все адреса верные почему возникает данная ошибка?
BESS вне форума Ответить с цитированием
Старый 28.08.2008, 10:45   #15
BESS
Пользователь
 
Аватар для BESS
 
Регистрация: 30.07.2008
Сообщений: 48
По умолчанию

упс не устранил
до какого узла он не может достучаться ? до прокси или уже до фтп?

Последний раз редактировалось BESS; 28.08.2008 в 10:54.
BESS вне форума Ответить с цитированием
Старый 01.09.2008, 23:53   #16
ak3000
Пользователь
 
Аватар для ak3000
 
Регистрация: 07.03.2008
Сообщений: 15
По умолчанию

Вопрос: как вернуться к режиму использования в WebBrowser'е без прокси сервера, используя аналогичный код в программе:
Код:
....
uses...urlmon, wininet...
  ....
var
  PIInfo: PInternetProxyInfo;
begin
  New(PIInfo);
  PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
  //  Изменение  настроек ПРОКСИ
  PIInfo^.lpszProxy := PChar('some.proxy:someport');
  //  указать  прокси  напр.
  195.43.67.33: 8080
  PIInfo^.lpszProxyBypass := PChar('');
  //  Список адресов, доступ к которым возможен минуя Proxy сервер

  UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
    SizeOf(Internet_Proxy_Info), 0);
  ....
    Dispose(PIInfo);
  ....
ak3000 вне форума Ответить с цитированием
Старый 02.09.2008, 09:44   #17
BESS
Пользователь
 
Аватар для BESS
 
Регистрация: 30.07.2008
Сообщений: 48
По умолчанию

Цитата:
Сообщение от ak3000 Посмотреть сообщение
Вопрос: как вернуться к режиму использования в WebBrowser'е без прокси сервера, используя аналогичный код в программе:
Код:
....
uses...urlmon, wininet...
  ....
var
  PIInfo: PInternetProxyInfo;
begin
  New(PIInfo);
  PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
  //  Изменение  настроек ПРОКСИ
  PIInfo^.lpszProxy := PChar('some.proxy:someport');
  //  указать  прокси  напр.
  195.43.67.33: 8080
  PIInfo^.lpszProxyBypass := PChar('');
  //  Список адресов, доступ к которым возможен минуя Proxy сервер

  UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
    SizeOf(Internet_Proxy_Info), 0);
  ....
    Dispose(PIInfo);
  ....
ну наверно присвоить
Код:
PIInfo^.dwAccessType
none или какие там есть константы
BESS вне форума Ответить с цитированием
Старый 02.09.2008, 22:00   #18
ak3000
Пользователь
 
Аватар для ak3000
 
Регистрация: 07.03.2008
Сообщений: 15
По умолчанию

Че-то у меня не получается....
Может у кого-то есть нормальный рабочий код, чтобы не нужно было искать касяки у меня?
ak3000 вне форума Ответить с цитированием
Старый 28.09.2008, 21:45   #19
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

var
PIInfo: PInternetProxyInfo;
begin
New(PIInfo);
PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
PIInfo^.lpszProxy :=PChar( 'PROXy:PORT' );
PIInfo^.lpszProxyBypass := PChar('');
UrlMkSetSessionOption(INTERNET_OPTI ON_PROXY, piinfo,
SizeOf(Internet_Proxy_Info), 0);
Dispose(PIInfo);
end;

кликаем по такой кнопке и вся прога будет работать от прокси (работает только 1 раз!)
jone вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[TcpClient, TcpServer] или [ServerSocket, ClientSocket] работа через прокси DOLBY Работа с сетью в Delphi 2 17.09.2009 05:46
Подключение БД через прокси D-mon БД в Delphi 2 30.05.2008 15:30
Соединение с FTP через HTTP прокси с поддрержкой ФТП, как??? Relaxxx Работа с сетью в Delphi 3 22.06.2007 15:51