函数用途:同一域名对应多个IP时,获取指定服务器的远程网页内容

<?php

/************************
*
函数用途:同一域名对应多个IP时,获取指定服务器的远程网页内容
* 创建时间:2008-12-09
* 创建人:张宴(img.jb51.net)

* 参数说明:
* $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", "img.jb51.net", "/abc.php");
$server_info2 =
HttpVisit("72.249.146.214", "img.jb51.net", "/abc.php");
$server_info3 =
HttpVisit("72.249.146.215", "img.jb51.net", "/abc.php");
?>

时间: 2024-10-29 19:07:43

函数用途:同一域名对应多个IP时,获取指定服务器的远程网页内容的相关文章

同一域名对应多个IP时,PHP获取远程网页内容的函数

同一域名对应多个IP时,PHP获取远程网页内容的函数 [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.15 转载请注明原文链接:http://blog.zyan.cc/post/389/] PHP获取远程网页内容有多种方式,例如用自带的file_get_contents.fopen等函数. 引用 <?php echo file_get_contents("http://blog.zyan.cc/abc.php"); ?> 但是,在DNS轮询等负载均衡中,同一

用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题

无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的而已域名(2个) 2.设置路由器,下面以TP-Link-WR847N 为例 (如果登录不成功,可能是你使用了客户端并绑定了内网映射,删除映射在登录即可) 3.设置端口映射 80和8080 端口外网都无法访问进来,应该网络运营商有限制. 4.开启防火墙 5.建个站点试试,IP:192.168.129  端口:668 6.效果 都是成功

Dnsmasq 解析域名到内网IP

目标:局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽 配置: 1:>yum install dnsmasq -y 2 ; >vi /etc/dnsmasq.conf resolve-file=/etc/dnsmasq.resolv.conf addn-hosts=/etc/dnsmasq.hosts resolve-file指定dnsmasq从哪里获取上行DNS Server, 默认是从/etc/resolv.conf获取. addn-hosts指定dnsmasq从哪个文件中读

JS常用函数用途小记

concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. var a = [1,2,3]; document.write(a.concat(4,5)); shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值. var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document

nginx只允许域名访问,禁止ip访问

背景:为什么要禁止ip访问页面呢?这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生. 解决方法:这里介绍修改配置文件nginx.conf两种方法:1)在server段里插入如下正则:listen       80;server_name  www.yuyangblog.net;if ($host != 'www.yuyangblog.net'){   return 403;} 2)添加一个server新加的se

搭建nginx虚拟主机——基于域名、端口和IP

Nginx支持的虚拟主机有三种 1.基于域名的虚拟主机2.基于IP的虚拟主机3.基于端口的虚拟主机且每一种虚拟主机均可通过"server{}" 配置段实现各自的功能 一.基于域名搭建 1.编译安装Nginx服务2.远程获取Windows上的源码包,并挂载到Linux上 [[email protected] ~]# smbclient -L //192.168.235.1 Enter SAMBA\root's password: Sharename Type Comment ------

查看DNS主机名解析的主机IP并向DNS服务器进行DNS域名解析

一.查看DNS主机名解析的主机IP host 命令 用途 把一个主机名解析到一个网际地址或把一个网际地址解析到一个主机名. 语法 host [-n [ -a ] [ -c Class] [ -d ] [ -r ] [ -t Type ] [ -v ] [ -w ] [ -z ]] Hostname | Address [ Server ] hostnew [ -a ] [ -c Class ] [ -d ] [ -r ] [ -t Type ] [ -v ] [ -w ] [ -z ] Host

动态IP或无公网IP时外网訪问内网ORACLE数据库

ORACLE数据库是应用最多的一个数据库.一般项目应用.将ORACLE部署在内网,内网调用,及运维都仅仅能是内网完毕. 假设ORACLE主机或所在局域网没有固定公网IP,又想在外网对ORACLE进行訪问.就须要解决动态IP或无公网IP的问题.相应运用到动态域名解析和port映射技术应用. 可直接採用网络辅助来实现外网对内网ORACLE数据库的訪问.如NAT123动态域名解析port映射. 动态IP时,外网訪问内网ORACLE数据库的实现: 1.在内网启用NAT123动态域名解析.使用自己的域名.

Nginx实现ssl一级、二级域名证书部署并用https访问代理转发服务器

1.  规划 域名 解析IP Nginx代理 htpps://www.devcult.com 47.88.10.155   htpps://auto.devcult.com 47.88.10.155 https://www.automa.com htpps://www.automa.com 103.200.200.203   本次实验用了2个一级域名,1个二级域名,2个ip地址:实现功能如上图所示,要求全部使用https,并且一级域名实现自动补全www. 2. 前提准备 47.88.10.155