1 uses IdHTTP;
2 function GetPublicIP: string;
3 var
4 strIP, URL: string;
5 iStart, iEnd: Integer;
6 MyIdHTTP: TIdHTTP;
7 begin
8 Result := '';
9 MyIdHTTP := TIdHTTP.Create(nil);
10 try
11 try
12 URL := MyIdHTTP.Get('http://www.ip138.com/ip2city.asp');
13 except
14 end;
15 finally
16 MyIdHTTP.Free;
17 end;
18
19 if Length(URL) <> 0 then
20 begin
21 iStart := Pos('[', URL);
22 iEnd := Pos(']', URL);
23 if (iStart <> 0) and (iEnd <> 0) then
24 begin
25 strIP := Trim(Copy(URL, iStart + 1, iEnd - iStart - 1));
26 if strIP <> '' then
27 Result := strIP;
28 end;
29 end;
30 end;
2 function GetPublicIP: string;
3 var
4 strIP, URL: string;
5 iStart, iEnd: Integer;
6 MyIdHTTP: TIdHTTP;
7 begin
8 Result := '';
9 MyIdHTTP := TIdHTTP.Create(nil);
10 try
11 try
12 URL := MyIdHTTP.Get('http://www.ip138.com/ip2city.asp');
13 except
14 end;
15 finally
16 MyIdHTTP.Free;
17 end;
18
19 if Length(URL) <> 0 then
20 begin
21 iStart := Pos('[', URL);
22 iEnd := Pos(']', URL);
23 if (iStart <> 0) and (iEnd <> 0) then
24 begin
25 strIP := Trim(Copy(URL, iStart + 1, iEnd - iStart - 1));
26 if strIP <> '' then
27 Result := strIP;
28 end;
29 end;
30 end;
获取公网IP地址函数,需要引用IdHTTP.