怎么通过DNS服务器得到一个www网址的ip地址(50分)

  • 主题发起人 主题发起人 hehao
  • 开始时间 开始时间
H

hehao

Unregistered / Unconfirmed
GUEST, unregistred user!
最近要用delphi编网络程序,要把一个www网址转化为ip地址,但是不知道
怎么与DNS服务器通讯来得到ip地址?还请各位高手指教。
 
getaddrbyhost?
 
ping 是可以的
api问y9y吧。
 
如果你是使用系统上设置的dns,就是getaddrbyhost
如果你的系统没有设置dns,或者你想指定从某个dns服务器得到地址(这个dns服务器
又不是当前系统使用的),
那你就可以用 ics 控件中的 TDnsQuery ,可以很方便的从任意一个dns服务器
得到主机地址

ics:
http://www.rtfm.be/fpiette/indexuk.htm
 
uses WinSock;
function GetRemoteHostIP : string;
var
pptr : TInAddr;
WebAddr : pchar
I : Integer;
GInitData : TWSADATA;
begin
StrPCopy(WebAddr,'www.delphibbs.com');
WSAStartup($101, GInitData);
pptr :=GetHostByName(WebAddr, StrLen(WebAddr));
if pptr = nil then Exit;
result:=StrPas(inet_ntoa(pptr^.^));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这里好像是这个样子的,你再查查TInAddr的结构,时间长了我记不太准了

WSACleanup;
end;
 
我已经用getaddrbyhost写出来了,以前是不太明白其中的hostent
结构的用法才来问的,现在看了一下别人的源程序,明白了.谢谢
cAkk和PiPi的答案了.
btw:最近一直连不上大富翁,给分给晚了,对不起了.
steve的方法我试了一下好像不行,所以没给分,不过还是谢谢他了.
 
后退
顶部