whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

163 Visitors Online


 
...Determine proxy server settings in IE?
Autor: shmia
[ Print tip ]  

Tip Rating (10):  
     


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: stringvar 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;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners