php指定域名IP地址,抓取网站数据,域名数据。同一域名对应多个IP时,获取指定服务器的远程网页内容 情景: 3台机器:1台 负载均衡,2台 php 机器 php 机器1 可以 执行 abc.php php 机器2 不能执行 需要执行 域名到 php机器1上
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<?php /************************ * 函数用途:同一域名对应多个IP时,获取指定服务器的远程网页内容 * 创建时间:2008-12-09 * 创建人:张宴(blog.s135.com) * 参数说明: * $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("72.249.146.213", "blog.s135.com", "/abc.php"); $server_info2 = HttpVisit("72.249.146.214", "blog.s135.com", "/abc.php"); $server_info3 = HttpVisit("72.249.146.215", "blog.s135.com", "/abc.php"); ?> |