当前位置:Gxlcms > PHP教程 > phpdns轮询获取远程网页内容的函数

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

时间:2021-07-01 10:21:17 帮助过:3人阅读

本文分享一个,dns轮询环境下,获取远程网页内容的函数,有需要的朋友参考下。

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

例子:

  1. <!--?php
  2. /*
  3. * 函 数:同一域名对应多个IP时,获取指定服务器的远程网页内容
  4. * 参数说明:
  5. * $ip 服务器的IP地址
  6. * $host 服务器的host名称
  7. * $url 服务器的URL地址(不含域名)
  8. * 返回值:
  9. * 获取到的远程网页内容
  10. * false 访问远程网页失败
  11. */
  12. function HttpVisit($ip, $host, $url)
  13. {
  14. $errstr = '';
  15. $errno = '';
  16. $fp = fsockopen ($ip, 80, $errno, $errstr, 90);
  17. if (!$fp)
  18. {
  19. return false;
  20. }
  21. else
  22. {
  23. $out = "GET {$url} HTTP/1.1/r/n";
  24. $out .= "Host:{$host}/r/n";
  25. $out .= "Connection: close/r/n/r/n";
  26. fputs ($fp, $out);
  27. while($line = fread($fp, 4096)){
  28. $response .= $line;
  29. }
  30. fclose( $fp );
  31. //去掉Header头信息
  32. $pos = strpos($response, "/r/n/r/n");
  33. $response = substr($response, $pos + 4);
  34. return $response;
  35. }
  36. }
  37. //调用方法:
  38. $server_info1 = HttpVisit("59.112.33.213", "bbs.it-home.org", "/abc.php");
  39. $server_info2 = HttpVisit("59.112.33.214", "bbs.it-home.org", "/abc.php");
  40. $server_info3 = HttpVisit("59.112.33.215", "bbs.it-home.org", "/abc.php");
  41. ?-->

人气教程排行