青 青侠 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-22 #1 如何在delphi中从域名中得到IP地址如: www.163.com ,www.sina.com.cn
Q qsoft.51.net Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-22 #2 把域名转化为IP地址 uses winsock; function GetIP(Name:string) : string; type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe HostEnt; pptr : PaPInAddr; I : Integer; GInitData : TWSADATA; begin WSAStartup($101, GInitData); Result := ''; phe :=GetHostByName(pchar(Name)); pptr := PaPInAddr(Phe^.h_addr_list); result:=StrPas(inet_ntoa(pptr^[0]^)); WSACleanup; end; 反之: function GetDomainName(Ip:string):string; var pHHostent; data:twsadata; ii:dword; begin WSAStartup($101, Data); ii:=inet_addr(pchar(ip)); pH:=gethostbyaddr(@ii,sizeof(ii),PF_INET); if (ph<>nil) then result:=pH.h_name else result:=''; WSACleanup(); end;
把域名转化为IP地址 uses winsock; function GetIP(Name:string) : string; type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe HostEnt; pptr : PaPInAddr; I : Integer; GInitData : TWSADATA; begin WSAStartup($101, GInitData); Result := ''; phe :=GetHostByName(pchar(Name)); pptr := PaPInAddr(Phe^.h_addr_list); result:=StrPas(inet_ntoa(pptr^[0]^)); WSACleanup; end; 反之: function GetDomainName(Ip:string):string; var pHHostent; data:twsadata; ii:dword; begin WSAStartup($101, Data); ii:=inet_addr(pchar(ip)); pH:=gethostbyaddr(@ii,sizeof(ii),PF_INET); if (ph<>nil) then result:=pH.h_name else result:=''; WSACleanup(); end;
无 无级变速 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-22 #3 系统自带有icmp.dll,好像可以利用它来实现。 或则利用indy控件。里面都有说明的。
Y yzhshi Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-22 #4 到这里看看,俺写的一个函数,可以实现这个功能。 不过那个楼主在得到答案以后就不见了,当初为了得到这个答案可是提前了至少半月,哈哈。 http://www.delphibbs.com/delphibbs/dispq.asp?lid=1874210 www.163.com的有: 202.108.36.156、202.108.36.167、202.108.36.172 202.108.36.196、202.108.36.153、202.108.36.155
到这里看看,俺写的一个函数,可以实现这个功能。 不过那个楼主在得到答案以后就不见了,当初为了得到这个答案可是提前了至少半月,哈哈。 http://www.delphibbs.com/delphibbs/dispq.asp?lid=1874210 www.163.com的有: 202.108.36.156、202.108.36.167、202.108.36.172 202.108.36.196、202.108.36.153、202.108.36.155