本文分享一个,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"); ?> |