域名转ip功能 ( 积分: 0 )

  • 主题发起人 主题发起人 ilmm520
  • 开始时间 开始时间
I

ilmm520

Unregistered / Unconfirmed
GUEST, unregistred user!
uses winsock;
function HostToIP(Name: string; var Ip: string): Boolean;
var
wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then begin
IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else begin
Result := False;
end;
finally
WSACleanup;
end
end;

procedure TForm1.Button1Click(Sender: TObject);
var
IP: string;
DNS: string;
begin
if Edit1.Text<>'' then
try
begin
DNS := Edit1.Text;
HostToIp(DNS, IP);
Edit2.Text:=IP;
end;
except
ShowMessage('出错!');
end;
end.

这个功能可以域名转ip
但是,问题出来了,如果申请的域名马上改一下ip哪么用这个的时候,得到的ip还是原来的ip
如何让sock先关一下.再连接.
 
uses winsock;
function HostToIP(Name: string; var Ip: string): Boolean;
var
wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then begin
IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else begin
Result := False;
end;
finally
WSACleanup;
end
end;

procedure TForm1.Button1Click(Sender: TObject);
var
IP: string;
DNS: string;
begin
if Edit1.Text<>'' then
try
begin
DNS := Edit1.Text;
HostToIp(DNS, IP);
Edit2.Text:=IP;
end;
except
ShowMessage('出错!');
end;
end.

这个功能可以域名转ip
但是,问题出来了,如果申请的域名马上改一下ip哪么用这个的时候,得到的ip还是原来的ip
如何让sock先关一下.再连接.
 
指点,指点吧!
 
有些网址被重定向后链接到别的地方去了,请问能否找到最后指向的IP?多谢!
 
这个。。
域名转换是访问域名服务DNS获得的,跟你的程序关了开没关系
只要DNS不正确解析你就得不到正确的IP

至于重定向问题,我想不到方法
 
问各位一个问题,我在写的个程序,可以让用户自主选择登陆不同的服务器,在局域网中的部分在不同机器和网段的SQL数据库都可以刷新出来,但是有几个还是看不到,而且在ADO里面刷新也刷不到,只能用IP地址连接,请问各位知道怎么将这种数据库刷新出来啊,谢谢
 

Similar threads

S
回复
0
查看
702
SUNSTONE的Delphi笔记
S
S
回复
0
查看
697
SUNSTONE的Delphi笔记
S
S
回复
0
查看
908
SUNSTONE的Delphi笔记
S
S
回复
0
查看
885
SUNSTONE的Delphi笔记
S
后退
顶部