delphi 获取外网IP的函数


本文整理自网络,侵删。

 获取外网IP的函数
function GetIP: string;
var
r: string;
p1, p2: Integer;
begin
r := idhttp1.get('http://www.net.cn/static/customercare/yourIP.asp');
p1 := Pos('<h2>', r); // 找到 h2 标签
p2 := Pos('</h2>', r); // 找到 h2 结束标签
Result := Copy(r, p1 + 4, p2 - p1 - 4);
end;
/////////////获取内网IP
function GetLocalIP: string;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of char;
I: Integer;
GInitData: TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(Buffer);
if phe = nil then Exit;
pptr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
Result := StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;


Indy9里面的HTTP组件

相关阅读 >>

Delphi 用 superobject 解析淘宝上的 json 数据

Delphi判断线程是否释放

Delphi net.httpclient用最精简的代码获取网页数据

关于Delphi xe2的fmx的一点点研究之消息篇

Delphi多线程tthread详解

Delphi开发的app如何调用外部app

Delphi 生成不重复数字随机码

Delphi combobox 只读 text属性可用的方法

Delphi 苹果系统弹出链接

Delphi 使用管道进程间通讯

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...