[文章作者:张宴 本文版本:v1.0 最后修改:2008.12.15 转载请注明原文链接:http://blog.zyan.cc/post/389/]
PHP获取远程网页内容有多种方式,例如用自带的file_get_contents、fopen等函数。
但是,在DNS轮询等负载均衡中,同一域名,可能对应多台服务器,多个IP。假设blog.zyan.cc被DNS解析到72.249.146.213、72.249.146.214、72.249.146.215三个IP,用户每次访问blog.zyan.cc,系统会根据负载均衡的相应算法访问其中的一台服务器。
上周做一个视频项目时,就碰到这样一类需求:需要依次访问每台服务器上的一个PHP接口程序(假设为abc.php),查询这台服务器的传输状态。
这时就不能直接用file_get_contents访问http://blog.zyan.cc/abc.php了,因为它可能一直重复访问某一台服务器。
而采用依次访问http://72.249.146.213/abc.php、http://72.249.146.214/abc.php、http://72.249.146.215/abc.php的方法,在这三台服务器上的Web Server配有多个虚拟主机时,也是不行的。
通过设置本地hosts也不行,因为hosts不能设置多个IP对应同一个域名。
那就只有通过PHP和HTTP协议来实现:访问abc.php时,在header头中加上blog.zyan.cc域名。于是,我写了下面这个PHP函数:
PHP获取远程网页内容有多种方式,例如用自带的file_get_contents、fopen等函数。
引用
但是,在DNS轮询等负载均衡中,同一域名,可能对应多台服务器,多个IP。假设blog.zyan.cc被DNS解析到72.249.146.213、72.249.146.214、72.249.146.215三个IP,用户每次访问blog.zyan.cc,系统会根据负载均衡的相应算法访问其中的一台服务器。
上周做一个视频项目时,就碰到这样一类需求:需要依次访问每台服务器上的一个PHP接口程序(假设为abc.php),查询这台服务器的传输状态。
这时就不能直接用file_get_contents访问http://blog.zyan.cc/abc.php了,因为它可能一直重复访问某一台服务器。
而采用依次访问http://72.249.146.213/abc.php、http://72.249.146.214/abc.php、http://72.249.146.215/abc.php的方法,在这三台服务器上的Web Server配有多个虚拟主机时,也是不行的。
通过设置本地hosts也不行,因为hosts不能设置多个IP对应同一个域名。
那就只有通过PHP和HTTP协议来实现:访问abc.php时,在header头中加上blog.zyan.cc域名。于是,我写了下面这个PHP函数:
http://www.getcoachfactoryoutlet.org/ Coach Factory
http://www.louisvuittonhandbagsoutlet.org/ Louis Vuitton Handbags Outlet
http://www.saleincoachoutlets.com/ Coach Outlet
内容:厦门最好的夜场是www.nyjzktv.com
厦门夜场招聘首选www.nyjzktv.com
厦门最好的ktv是www.nyjzktv.com