Heim >Backend-Entwicklung >PHP-Tutorial >php dns轮询 获取远程网页内容的函数

php dns轮询 获取远程网页内容的函数

WBOY
WBOYOriginal
2016-07-25 08:56:48900Durchsuche
本文分享一个,dns轮询环境下,获取远程网页内容的函数,有需要的朋友参考下。

同一个域名对应多个IP的情况,可以通过PHP和HTTP协议来实现获取远程网页的内容。 例如,在访问abc.php时,在header头中加上bbs.it-home.org域名。

例子:

<?php
/*
* 函 数:同一域名对应多个IP时,获取指定服务器的远程网页内容
* 参数说明:
*    $ip   服务器的IP地址
*    $host   服务器的host名称
*    $url   服务器的URL地址(不含域名)
* 返回值:
*    获取到的远程网页内容
*    false   访问远程网页失败
*/
function HttpVisit($ip, $host, $url)
{
    $errstr = '';
    $errno = '';
    $fp = fsockopen ($ip, 80, $errno, $errstr, 90);
    if (!$fp)
    {
         return false;
    }
    else
    {
        $out = "GET {$url} HTTP/1.1/r/n";
        $out .= "Host:{$host}/r/n";
        $out .= "Connection: close/r/n/r/n";
        fputs ($fp, $out);

        while($line = fread($fp, 4096)){
           $response .= $line;
        }
        fclose( $fp );

        //去掉Header头信息
        $pos = strpos($response, "/r/n/r/n");
        $response = substr($response, $pos + 4);

        return $response;
    }
}

//调用方法:
$server_info1 = HttpVisit("59.112.33.213", "bbs.it-home.org", "/abc.php");
$server_info2 = HttpVisit("59.112.33.214", "bbs.it-home.org", "/abc.php");
$server_info3 = HttpVisit("59.112.33.215", "bbs.it-home.org", "/abc.php");
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn