Форум: "Сети";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
ВнизКак проверить работоспособность 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c