Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.18;
Скачать: CL | DM;

Вниз

Использование SOCS-прокси   Найти похожие ветки 

 
S_T_E_P_A_N___ ©   (2007-03-19 14:07) [0]

Уважаемые мастера! У меня есть программа которая работает с моим сайтом через TWebBrowser (TEmbeddedWB) и Indy (TIdHTTP). Приблизительно так:

procedure TForm1.Button1Click(Sender: TObject)
begin
      WebBrowser.Navigate("www.mysite.com");
end;

procedure TForm1.Button2Click(Sender: TObject)
begin
      Memo1.Text:=idHTTP1.Get(www.mysite.com);
end;


Нужно сделать так, чтобы весь обмен данными c www.site.com шел через SOCKS-прокси. Поскольку программа уже написана, то нужно оформить установку прокси-сервера в виде независимой процедуры. Например так:


procedure TForm1.Button1Click(Sender: TObject)
begin
      SetProxy(ProxyList[random(10)]); //процедура которая устанавливает нужний прокси.
      WebBrowser.Navigate("www.mysite.com");
end;

procedure TForm1.Button2Click(Sender: TObject)
begin
      SetProxy(ProxyList[random(10)]);
      Memo1.Text:=idHTTP1.Get(www.mysite.com);
end;


Обратите внимание - мне нужно работать из SOCKS (а не HTTP) прокси-серверами, которые заданы в виде IP:Port. Программы типа FreeCap не подойдут, потому что изменять прокси нужно динамически в Run-Time. Использую Delphi2005. Если кто-то сталкивался с подобной проблемой, подайте идею решения. Желательно с примером. Спасибо за ответ.


 
clickmaker ©   (2007-03-19 18:08) [1]

TIdSocks?


 
S_T_E_P_A_N___ ©   (2007-03-19 18:28) [2]

Ну и што дальше? Как весь трафик через сокет отправлять? Есть компонент TIdSocksInfo есть WebBrowser, idHTTP. Как ето все связать?


 
clickmaker ©   (2007-03-19 18:31) [3]

http://www.indyproject.org/KB/


 
ustas   (2007-03-20 10:00) [4]

Бери пока я добрый :)

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 OleCtrls, SHDocVw, StdCtrls, urlmon, wininet, ComCtrls;
...
var
 Form1: TForm1;
 PIInfo: PInternetProxyInfo;
...
procedure TForm1.ButtonNavigateClick(Sender: TObject);
begin
 New(PIInfo);
 PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
 PIInfo^.lpszProxy := PChar("socks=" + EditSocksProxyIP.text + ":" + EditPort.text);
 PIInfo^.lpszProxyBypass := PChar("");
 UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo, SizeOf(Internet_Proxy_Info), 0);
 WebBrowser.Navigate(EditUrl.Text);
 Dispose(PIInfo);
end;


 
S_T_E_P_A_N___ ©   (2007-03-20 21:37) [5]

Спасибо!!!



Страницы: 1 вся ветка

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
2-1193206076
DDDeN
2007-10-24 10:07
2007.11.18
Удалить строку или столбец из TStringGrid


2-1193400497
vajo
2007-10-26 16:08
2007.11.18
Нужно внести изменения в текстовом файле на сайте.


15-1192360733
Вопрошающий
2007-10-14 15:18
2007.11.18
Что вы знаете об узбекской культуре?


2-1193198709
cvg
2007-10-24 08:05
2007.11.18
Какая функция возвращает длину массива ComboBox?


2-1193582414
AlexanderMS
2007-10-28 17:40
2007.11.18
Что это такое - "the instance handle of the application"?