I think what Abigail-II meant to imply may have been something like:
#!/usr/bin/perl -w use strict; my $hostname = 'www.yahoo.com'; my ($name,$aliases,$addrtype,$length,@addrs) = gethostbyname($hostname +); foreach my $addr ( @addrs ) { print join('.', unpack('C4', $addr)), "\n"; }
(I didn't find gethostbyname's documentation to be intuitively obvious my first time, either.)
Unfortunately, gethostbyname returns all of the IP addresses which could match, so it probably does not immediately solve your problem. You want to know which specific IP address was returned when LWP looked up the name to try to get the content.
You may need to look up an IP address first (possibly using gethostbyname), then use the IP address instead of the hostname to make the LWP request. I.e., http://66.218.71.84/ instead of http://www.yahoo.com/
However, if the web server requires the "Host:" HTTP header to contain the hostname in order to determine the content to return (as with virtual servers), then it could get more complicated still.
Rather than trying to solve all possible problems, I'll let you go off and try things and come back if you run into specific roadblocks or questions.
-- Eric Hammond
In reply to Re: Get the IP Address
by esh
in thread Get the IP Address
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |