Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить работоспособность PROXY


chum ©   (2003-03-12 15:08:00) 

Как проверить работоспособность PROXY средствами WinAPI. Например используя winsock. При этом необходимо указывать порт.


Ihor Osov'yak   (2003-03-12 16:25:00) [1]

Проверил. Действительно так. Но для левого прокси InternetOpenUrl возвратит nil..

Делай примерно так:


var
hHttpSession,hReqUrl:HInternet;
Buffer:array[0..1023] of char;
sWork:string;
nRead:cardinal;

begin
res:="";
flOk:=false;
try
if not userPrm.enCustomProxy
then hHttpSession := InternetOpen(agentName,INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0)
else begin
if userPrm.enUseProxy
then hHttpSession := InternetOpen(agentName,INTERNET_OPEN_TYPE_PROXY,
PChar(userPrm.proxyAddr),PChar(userPrm.proxyPort),0)
else hHttpSession := InternetOpen(agentName,INTERNET_OPEN_TYPE_DIRECT,
PChar(userPrm.proxyAddr),PChar(userPrm.proxyPort),0)
end;
if not assigned(hHttpSession) then exit;
try
hReqUrl := InternetOpenUrl(hHTTPSession,PChar(url),nil,0,
//INTERNET_FLAG_PRAGMA_NOCACHE,
INTERNET_FLAG_RELOAD,
0);
if not assigned(hReqUrl) then exit;
try
repeat
InternetReadFile(hReqUrl,@Buffer,sizeof(Buffer),nRead);
if nRead>0 then begin
SetLength(sWork,nRead);
Move(buffer,sWork[1],nRead);
res:=res+sWork;
end;
until nRead=0;
flOk:=true;
finally
InternetCloseHandle(hReqUrl);
end;
finally
InternetCloseHandle(hHTTPSession);
end;
except
end;


chum   (2003-03-12 16:15:00) [2]

Попробовал InternetOpen. Функции всё равно какой прокси, она всегда устанавливает соединение. Что делать?


chum   (2003-03-12 15:29:00) [3]

Спасибо.


Ihor Osov'yak   (2003-03-12 15:22:00) [4]

InternetOpen from WinIne с последующим (возможно) InternetOpenUrl и InternetReadFile ...

InternetOpen подразумевает среди прочего указание параметров прокси, через который собираемся работать...


Наверх

Титульная страница Поиск, карта сайта Написать письмо