- For individual users
- Instant access to solutions
- Ask your tech questions
- Start your 30-day Free Trial
Main Topics
Browse All TopicsI need to be able to determine the Real DHCP IP address of the Router in a Network. There are a number of exmples of how to obtain the IP address of a given workstation, but if you are behind a Router/Firewall how do you determine the IP address that the rest of the world see you at. The Router has a web page that displays that IP address, but how do you get that IP address through a Delphi Program?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Business Accounts
Answer for Membership
by: DaFoxPosted on 2003-11-15 at 18:40:32ID: 9757404
piano,
IG, nil, nil, 0); BufferLength); s; on);
: TObject); e.html');
You are on the right track. There are only 2 possibilities:
1. call a website on the web that displays your wan ip and parse the ip from the webpage (e.g. http://www.whatismyip.net)
2. connect to your router through http, telnet, ... and try to get it directly from the hardware
To your question, try this code below:
{ uses WinInet }
function LoadFromURL(URL: String): String;
var
hSession, hURL: hInternet;
Buffer: array[0..1023] of Byte;
BufferLength: DWord;
Stream: TStringStream;
begin
stream := TStringStream.Create('');
Result := '';
if (Pos('http://', LowerCase(url)) = 0) then URL := 'http://' + URL;
hSession := InternetOpen('My_App;)', INTERNET_OPEN_TYPE_PRECONF
try
hURL := InternetOpenURL(hSession, PChar(URL), nil, 0, INTERNET_FLAG_RELOAD, 0);
try
repeat
InternetReadFile(hURL, @Buffer, 1024, BufferLength);
Stream.WriteBuffer(Buffer,
Application.ProcessMessage
until (BufferLength = 0);
Result := Stream.DataString;
finally
InternetCloseHandle(hURL)
end;
finally
InternetCloseHandle(hSessi
Stream.free;
end;
end;
procedure TForm1.Button1Click(Sender
begin
Memo1.Text := LoadFromURL('router-ip/sit
end;
Now, you only have to parse your wan ip from the returned html code. This should be quite simple!
Markus