using synapse, send a http request to checkip.dyndns.org, get IP address from response.
code example:
uses
Classes,SysUtils,synaip,httpsend,synautil;
...
//get external internet IP addresses (if the computer is in LAN)
function GetExternalIp:String;
var
HTTPGetResult: boolean;
HTTPSender: THTTPSend;
URL:String;
Content : TStringList;
s:String;
begin
result:='';
URL:='
http://checkip.dyndns.org';
HTTPSender:=THTTPSend.Create;
Content :=TStringList.Create;
try
HTTPGetResult:=HTTPSender.HTTPMethod('GET', URL);
if HTTPSender.Resultcode=200 then
begin
Content.LoadFromStream(HTTPSender.Document);
if Content.Count>0 then
begin
s:=Content.Strings[0];
synautil.Fetch(s,'Current IP Address:');
s:=synautil.Fetch(s,'<');
s:=trim(s);
if IsIp(s) then result:=s;
end;
end;
finally
Content.Free;
HTTPSender.Free;
end;
end;