Узнать информацию о прокси сервере

uses
 WinInet;
function GetProxyInformation: string;
var
 ProxyInfo: PInternetProxyInfo;
 Len: LongWord;
begin
 Result := '';
 Len := 4096;
 GetMem(ProxyInfo, Len);
 try
  if InternetQueryOption(nil, INTERNET_OPTION_PROXY, ProxyInfo, Len) then
  if ProxyInfo^.dwAccessType = INTERNET_OPEN_TYPE_PROXY then
  begin
  Result := ProxyInfo^.lpszProxy
  end;
 finally
  FreeMem(ProxyInfo);
 end;
end;
{**************************************************************************
* NAME: GetProxyServer
* DESC: Proxy-Server Einstellungen abfragen
* PARAMS: protocol => z.B. 'http' oder 'ftp'
* RESULT: [-]
* CREATED: 08-04-2004/shmia
*************************************************************************}

procedure GetProxyServer(protocol: string; var ProxyServer: string;
 var ProxyPort: Integer);
var
 i: Integer;
 proxyinfo, ps: string;
begin
 ProxyServer := '';
 ProxyPort := 0;
 proxyinfo := GetProxyInformation;
 if proxyinfo = '' then
  Exit;
 protocol := protocol + '=';
 i := Pos(protocol, proxyinfo);
 if i > 0 then
 begin
  Delete(proxyinfo, 1, i + Length(protocol));
  i := Pos(';', ProxyServer);
  if i > 0 then
  proxyinfo := Copy(proxyinfo, 1, i - 1);
 end;
 i := Pos(':', proxyinfo);
 if i > 0 then
 begin
  ProxyPort := StrToIntDef(Copy(proxyinfo, i + 1, Length(proxyinfo) - i), 0);
  ProxyServer := Copy(proxyinfo, 1, i - 1)
 end
end;
procedure TForm1.Button1Click(Sender: TObject);
var
 ProxyServer: string;
 ProxyPort: Integer;
begin
 GetProxyServer('http', ProxyServer, ProxyPort);
 Label1.Caption := ProxyServer;
 label2.Caption := IntToStr(ProxyPort);
end;

Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php

этот код у меня не работает. showmessage(ProxyServer); выдает китайские иероглифы.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...