If I have :
domainA.com/out.php :
Is it possible to ge
If you need to get all the redirects, you can do
function getRedirectsToUri($uri)
{
$redirects = array();
$http = stream_context_create();
stream_context_set_params(
$http,
array(
"notification" => function() use (&$redirects)
{
if (func_get_arg(0) === STREAM_NOTIFY_REDIRECTED) {
$redirects[] = func_get_arg(2);
}
}
)
);
file_get_contents($uri, false, $http);
return $redirects;
}
This will return an array holding all the redirects with the last entry being the final destination.
print_r(getRedirectsToUri('http://bit.ly/VDcn'));
Array (
[0] => http://example.com/
[1] => http://www.iana.org/domains/example/
)
You'd have to lookup the IP's manually though (see other answers here) but note that a redirect target doesnt have to be a hostname. It can very well be an IP as well.
I am not sure what you mean by
from domainC.com?
but in PHP you can call gethostbyname('domainB.com')
which will give you the IP of domainB.com from domainA.com/out.php
Use get_headers() to get the http headers from a URL.
Something like this should work to get the domain name.
$headers = get_headers('http://domaina.com/out.php', 1);
echo $headers['Location'];
To resolve the IP address, look at the gethostbyname() function.
echo gethostbyname($headers['Location']);