Узнать информацию о прокси сервере |
Previous Top Next |
Code: |
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; |
©Drkb::03518
Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php