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.