如果我有 :
domainA.com/out.PHP:
<?PHP header('location: http://domainB.com/'); ?>
是否可以通过domainC.com上的domanA.com/out.PHP获取url:domainB.com及其IP地址?
我想要的是 :
domainA.com/index.PHP
<?PHP $data = getUrlandIp("domainA.com/out.PHP"); echo $data[0]; # wanted output (URL) : domainB.com echo $data[1]; # wanted output (IP) : 133.133.133.133 ?>
如果您需要获取所有重定向,则可以执行此操作
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; }
这将返回一个包含所有重定向的数组,最后一个条目是最终目标.
示例(demo)
print_r(getRedirectsToUri('http://bit.ly/VDcn'));
产量
Array ( [0] => http://example.com/ [1] => http://www.iana.org/domains/example/ )
您必须手动查找IP(请参阅此处的其他答案),但请注意,重定向目标不必是主机名.它也很可能是一个IP.