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

Вниз

Как проверить работоспособность PROXY   Найти похожие ветки 

 
chum   (2003-03-12 15:08) [0]

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


 
Ihor Osov'yak ©   (2003-03-12 15:22) [1]

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

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


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

Спасибо.


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

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


 
Ihor Osov'yak ©   (2003-03-12 16:25) [4]

Проверил. Действительно так. Но для левого прокси 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;



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
1-23129
KA-87
2003-04-27 18:46
2003.05.08
Как узнать размер видимой части RichEditа?


4-23425
ers
2003-03-10 14:35
2003.05.08
Как узнать состояние окна?


3-22969
дд
2003-04-17 12:21
2003.05.08
Создание User и права доступа


3-22993
anton2v
2003-04-17 15:02
2003.05.08
INSERT INTO с двумя таблицами из разных каталогов


1-23144
ers
2003-04-28 09:52
2003.05.08
PopupMenu