關於inet_aton和inet_ntoa(perl)

關於inet_aton和inet_ntoa(perl)

 

得到DNS地址的兩個主要函數是Socket模塊中的inet_aton()函數,用來保存DNS地址,然後使用inet_ntoa()函數把保存的地址轉換成IP地址。

 

l  inet_aton HOSTNAME

Takes a string giving the name of a host, and translates that to an opaque string (if programming in C, struct in_addr). Takes arguments of both the 'rtfm.mit.edu' type and '18.181.0.24'. If the host name cannot be resolved, returns undef. For multi-homed hosts (hosts with more than one address), the first address found is returned.

For portability do not assume that the result of inet_aton() is 32 bits wide, in other words, that it would contain only the IPv4 address in network order.

 

l  inet_ntoa IP_ADDRESS

 

Takes a string (an opaque string as returned by inet_aton(), or a v-string representing the four octets of the IPv4 address in network order) and translates it into a string of the form 'd.d.d.d' where the 'd's are numbers less than 256 (the normal human-readable four dotted number notation for Internet addresses).

 

e.g.

 

use Socket;

my $SiteName;

my $Address;

 

$SiteName = 'ebs12.hand-china.com';#$SiteName = '192.168.11.13';

$Address = inet_ntoa(inet_aton$SiteName);

print inet_aton($SiteName),"/n";

print "The DNS address of ebs12.hand-china.com is $Address/n";

 

結果:

括_

 

The DNS address of ebs12.hand-china.com is 192.168.11.13

 

我們可以看到print inet_aton($SiteName),"/n";打印出來的是“括_”。所以,我們可以得到inet_aton()函數返回的是“an opaque string”,一個模糊的字符串。

 

再看print "The DNS address of ebs12.hand-china.com is $Address/n";

打印出來的結果是“The DNS address of ebs12.hand-china.com is 192.168.11.13”。所以,我們可以得出inet_ntoa()函數返回的是IP地址。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章