`
wtm_mac
  • 浏览: 88497 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php请求域名的url时绑定ip

阅读更多
当我们要测试的接口服务器比较多的时候,更改hosts指向很麻烦,通过socket我们可以在程序中绑定接口域的ip,增加测试的灵活性,代码如下

<?php
/**
 * 访问域名url时绑定ip地址
 *
 * @author tonywang(wtmmac(@)gmail.com)
 * @param string $url 目标url
 * @param string $ip_address 绑定IP地址
 * @param bool $return_header 是否返回头信息
 *
 * @return string 返回GET到的信息
 */
function url_get_contents($url, $ip_address = null, $return_header = false) {
    
    $url = parse_url($url);
 
    if (!isset($url['port'])) {
        if ($url['scheme'] == 'http'){
            $url['port'] = 80; 
        } else if ($url['scheme'] == 'https'){
            $url['port'] = 443;
        }
    }
    
    $url['query'] = isset($url['query'])?$url['query']:'';
    $url['protocol'] = $url['scheme'].'://';
    $eol="\r\n";
 
    $headers = 'GET '.$url['protocol'].$url['host'].$url['path'].' HTTP/1.0'.$eol. 
               'Host: '.$url['host'].$eol. 
               'Content-Length: '.strlen($url['query']).$eol.
               $eol.$url['query'];
    $fp = fsockopen($ip_address ? $ip_address : $url['host'], $url['port'], $errno, $errstr, 5); 
    
    if ($fp) {
        fputs($fp, $headers);
        $result = $headers;
        while(!feof($fp)){ 
            $result .= fgets($fp, 128);
        }
        fclose($fp);

        if (!$return_header) {
            $result = preg_replace("/^.*\r\n\r\n/s",'',$result);
        }

        return $result;
    }
}

echo url_get_contents('http://www.ibaofeng.com', '127.0.0.1');
分享到:
评论

相关推荐

    伪静态和url重写 实现二级域名

    5. 测试各个二级域名的访问情况,确保伪静态和URL重写规则生效,并能正确处理动态请求。 总结来说,伪静态和URL重写是提高网站用户体验和SEO的重要手段,结合二级域名的泛解析,可以在不增加服务器管理负担的情况下...

    PHP泛域名站群源码+PHP端口版站群源码

    2. **泛域名**:泛域名解析是DNS(域名系统)的一种设置,允许将一个主域名下的所有子域名都指向同一个IP地址。例如,若设置“*.example.com”,则所有如“site1.example.com”、“site2.example.com”都将指向同一...

    独立IP被别人恶意解析域名的几种解决方法 管理资料.doc

    在DNS提供商的控制面板中,设置A记录或CNAME记录,仅允许您自己的域名绑定到该IP。 2. **使用Web服务器配置**: - 对于使用Apache、Nginx等Web服务器的情况,可以在服务器配置文件中进行过滤。例如,在Apache的`....

    空想软件PHP二级域名系统

    这个系统可能包含了配置、创建、绑定、解析二级域名以及权限控制等功能,帮助用户轻松地管理和维护他们的网络空间。 在PHP开发中,二级域名系统的实现涉及到以下几个关键知识点: 1. **域名解析**:二级域名的设置...

    掘金领航者全自动付费进群系统代理端域名配置教程

    它们需要根据业务逻辑正确配置,并与域名绑定,以便用户能够通过URL访问这些服务。 在配置过程中,需要确保以下几点: - **域名解析**:在DNS服务商处设置A记录或CNAME记录,将域名指向服务器的IP地址。 - **SSL...

    域名授权验证系统PHP源码,盗版追踪、双重授权和在线加密功能,附带安装教程

    用户授权可能涉及激活码或者购买凭证,而域名验证则检查软件运行时的服务器域名是否与授权时记录的域名相匹配。这种双重保障提高了软件的安全性,有效防止了盗版和非法分发。 **二、盗版追踪** 盗版追踪技术允许...

    百度知道泛解析无限二级域名

    httpd.parse.errors可能记录了配置文件解析过程中的错误,而httpd.ini是Apache的配置文件,用于设定服务器的行为,如绑定IP、端口、虚拟主机等。 3. global.php:这可能是一个全局配置文件,包含整个网站的共用变量...

    主机域名老枪二级域名系统朴素版-lqdomain.rar

    1. **域名注册**:用户可以通过系统注册新的二级域名,这通常涉及到输入域名名称、选择关联的一级域名以及设置域名的指向(例如,绑定到某个特定的目录或IP地址)。 2. **域名管理**:管理员可以对已注册的二级域名...

    2021全新PHP短网址生成系统短链接生成系统URL缩短器系统源码站长亲测.rar

    例如,他们可能想要添加自定义的域名绑定、统计分析功能、API接口支持,甚至集成到现有的网站架构中。 压缩包内的文件包括: 1. **华创源码使用说明.html** - 这是一个详细的使用指南,可能会包含如何安装、配置和...

    php语法简介.pdf

    由于IP地址难以记忆,因此人们通常使用域名代替IP地址。例如,`www.example.com`。域名需要通过DNS服务器解析为对应的IP地址。 - **URL**:URL(统一资源定位符)是用于标识Internet上文档或其他资源的地址。一个...

    修改.htaccess实现子目录绑定示例分享

    在这里,我们设置了两个条件,检查请求的主机名是否匹配我们要绑定的域名或IP地址,例如`^((www|blog)\.)?jb51\.net$`,这个正则表达式匹配`jb51.net`、`www.jb51.net`和`blog.jb51.net`。 4. **RewriteRule规则**...

    连连银通支付WEB-DEMO开发包

    注: 申请表在目录中 《连连银通商户域名IP应用标识配置申请表V2.1.1》 //域名IP应用标识申请表 4、demo 接入指南 4.1、php log.txt 可查看商户情况的日志,会打印商户请求的待签名串。 llpay.config.php ...

    (全)传智播客PHP就业班视频完整课程

    解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...

    实战Nginx-书中示例

    2. 基本服务器块配置:学习如何创建和配置服务器块,定义监听端口、域名绑定、根目录等。 3. 静态文件服务:演示如何让Nginx高效地服务静态文件,如HTML、CSS、JavaScript、图片等。 4. 反向代理与负载均衡:设置...

    开启apache 一些重要信息

    这里的`combined`表示使用标准的组合式日志格式,包括客户端IP地址、请求的时间戳、请求方法、URL、HTTP状态码等信息。 5. **Options FollowSymLinks MultiViews**:与第一个虚拟主机相同,启用了同样的两个选项。 ...

    b高性能Web服务器nginx及相关新技术的应用实践-SDC(共52张PPT).pptx

    通过在各服务器上绑定IP别名,可以实现当一台Nginx服务器出现故障时,另一台能立即接管,避免资源浪费。 总之,Nginx因其出色性能和灵活性,在现代Web服务架构中扮演着至关重要的角色,尤其是在处理高并发和构建...

Global site tag (gtag.js) - Google Analytics