如何从域名重定向查找IP地址和端口

时间:2015-06-15 12:22:49

标签: php dns

我有一个基于PHP的网页,它从shoutcast服务器中提取正在播放的信息并将其显示给我的最终用户。这是使用服务器IP地址和端口。

我们的shoutcast主机保留随时更改我们服务器的权利,因此官方只提供连接的域名,例如123.myshoutcastexample.com然后http重定向到最直接的IP地址和端口号。< / p>

任何人都可以让我如何使用PHP找到任何给定子域的目标IP和PORT吗? (假设它可能)。

非常感谢,菲尔。

1 个答案:

答案 0 :(得分:0)

我不知道Shoutcast服务器如何进行重定向,但假设它使用标准HTTP重定向,get_headers()函数可用于获取信息:

$url = 'http://www.google.com';

print_r(get_headers($url, 1));

这导致显示以下内容(对我而言):

Array
(
    [0] => HTTP/1.0 302 Found
    [Cache-Control] => Array
        (
            [0] => private
            [1] => private, max-age=0
        )

    [Content-Type] => Array
        (
            [0] => text/html; charset=UTF-8
            [1] => text/html; charset=ISO-8859-1
        )

    [Location] => http://www.google.co.uk/?gfe_rd=cr&ei=Jtl-Vd3cOvrj8weB5KRY
    [Content-Length] => 259

    [1] => HTTP/1.0 200 OK
 ...
)

带有数字键([0][1])的数组的顶级元素是HTTP状态代码(第一个是从原始URL获得的302重定向,第二个是成功请求到重定向网址)。最终目的地可以在[Location]元素中找到 - 在这种情况下,重定向是http://www.google.co.uk/?gfe_rd=cr&ei=Jtl-Vd3cOvrj8weB5KRY