php – 重定向后找到网址并获取网站的IP地址

前端之家收集整理的这篇文章主要介绍了php – 重定向后找到网址并获取网站的IP地址前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有 :

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.

猜你在找的PHP相关文章