Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IP Adresse der aktuell angezeigten Seite vom TWebBrowser (https://www.delphipraxis.net/48935-ip-adresse-der-aktuell-angezeigten-seite-vom-twebbrowser.html)

Remote1 2. Jul 2005 21:57


IP Adresse der aktuell angezeigten Seite vom TWebBrowser
 
kann mir jemand nen tipp geben wei das funzt
hab schon gesucht, aber noch nichts gefunden

x000x 2. Jul 2005 23:04

Re: IP Adresse der aktuell angezeigten Seite vom TWebBrowser
 
Moin moin,

ob und wie es mit TWebBrowser funktioiert kann ich dir auch nicht sagen...
Da dir aber die adresse (URL) bekannt ist ein alternativer Vorschlag:
Delphi-Quellcode:
uses WinSock;

...

function GetIpFromName(sHostName: String; out sIPAddr, sWSAError: String): Boolean;
var HEnt   : pHostEnt;
    WSAData : TWSAData;
    iCnt   : Integer;
begin
   Result := False;
   if WSAStartup($0101, WSAData) <> 0 then begin
      sWSAError := 'WSAStartup error';
      Exit;
   end;
   try
      sIPAddr  := '';
      sWSAError := '';
      HEnt := GetHostByName(@sHostName[1]);
      if Assigned(HEnt) then begin
         Result := True;
         for iCnt := 0 to HEnt^.h_length - 1 do
             sIPAddr := sIPAddr + IntToStr(Ord(HEnt^.h_addr_list^[iCnt])) + '.';
         SetLength(sIPAddr, Length(sIPAddr) - 1);
      end else begin
         case WSAGetLastError of
            WSAEFAULT       : sWSAError := 'WSAEFault';
            WSANOTINITIALISED: sWSAError := 'WSANotInitialised';
            WSAENETDOWN     : sWSAError := 'WSAENetDown';
            WSAHOST_NOT_FOUND: sWSAError := 'WSAHostNotFound';
            WSATRY_AGAIN    : sWSAError := 'WSATryAgain';
            WSANO_RECOVERY  : sWSAError := 'WSANoRecovery';
            WSANO_DATA        : sWSAError := 'WSANoData';
            WSAEINPROGRESS  : sWSAError := 'WSAEInProgress';
         end;
      end;
   finally
      WSACleanup;
   end;
end;

...

procedure TForm1.Button1Click(Sender: TObject);
var szStr, szError : String;
begin
   if GetIpFromName('www.delphipraxis.de', szStr, szError) then
      ShowMessage(szStr +#13#10+ szError)
   else
      ShowMessage(szError);
end;

Remote1 3. Jul 2005 11:21

Re: IP Adresse der aktuell angezeigten Seite vom TWebBrowser
 
so einen ähnlichen code hab ich schon mal ausprobiert, problem ist nur das es bis jetztz noch nicht funktioniert hat
ich erhalte immer nur "WSAHostNotFound"

kann es daran liegen, dass ich schreibe:
Delphi-Quellcode:
   if GetIpFromName(WebBrowser1.LocationUrl, szStr, szError)
     then ShowMessage(szStr +#13#10+ szError)
     else ShowMessage(szError);

SirThornberry 3. Jul 2005 11:23

Re: IP Adresse der aktuell angezeigten Seite vom TWebBrowser
 
das liegt daran das du die ganze url übergibst. du darfst nicht
"http://host/path/documents" übergeben sondern darfst nur den host selbst übergeben.
also alles ab dem ersten "/" hinter "host" inclusive "/" musst du entfernen

wenn du zum beispiel "ping www.delphipraxis.net/irgendwas" ausführst wirst du auch keinen erfolg haben weil es kein gültiger hostname ist. auch da würde nur "ping www.delphipraxis.net" funktionieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz