`
wtm_mac
  • 浏览: 87169 次
  • 性别: 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');
分享到:
评论

相关推荐

    动态IP自动绑定阿里云域名

    老是登陆阿里网站手动更改域名对应的IP地址不是办法啊&*%¥#@ 自己写个工具自动绑定吧,求人不如求已,开工。。。。花了两天时间搞定。NND,阿里的API接口好几个坑。。。。。 工具怎么用自己看压缩包中的readme.txt...

    DNS绑定 域名绑定

    域名绑定工具用将二级域名与你电脑的动态外网IP绑定,绑定成功后,即可通过互联网访问。

    Node.js 腾讯云域名动态自动绑定ip

    家庭网络很多都会变更ip,需要动态绑定域名,定时自动检测绑定ip和家庭ip一致

    ADSL动态IP绑定域名自动更新

    本程序是针对ADSL宽带动态IP绑定域名进行动态解析,以达到通过域名能实时解析到达ADSL动态IP的目的。 功能说明: 1.ADSL宽带断线自动拨号 2.将宽带拨号IP实时更新到希网域名 3.以系统服务方式开机自动运行 使用...

    域名ip绑定解析domain

    自主研发,域名ip绑定解析小软件一枚,轻量级应用,网站开发必备!

    关于IP-MAC地址绑定的交换机设置

    关于IP-MAC地址绑定的交换机设置关于IP-MAC地址绑定的交换机设置关于IP-MAC地址绑定的交换机设置关于IP-MAC地址绑定的交换机设置关于IP-MAC地址绑定的交换机设置关于IP-MAC地址绑定的交换机设置关于IP-MAC地址绑定的...

    【nodeJs入门】第3篇:域名绑定服务器IP

    这一次并不是讲nodejs的,有点跑偏了,但是都是为小程序搭建后台做的准备。先说下缘故,在小程序内开启的websoket服务在真机上测试...为排除这一个问题,我决定申请一个域名和证书,绑定在我的服务器IP上。  这一路很

    解析域名以及如何绑定域名

    解析域名以及如何绑定域名

    cisco交换机绑定IP

    cisco交换机绑定IP

    PHP二级域名绑定管理平台

    利用他可以将您的多个顶级域名绑定到空间的任意文件夹!本程序完全开源免费,您可以根据自己的需要任意修改和使用! 【3.0主要更新】增加了对iis 7 的支持,增加配置文件安全机制,系统始终会备份最新的配置文件,当...

    ADSL宽带动态IP绑定域名

    本程序是针对ADSL宽带动态IP绑定域名进行动态解析,以达到通过域名能实时解析到ADSL动态IP的目的。 功能说明: 1.ADSL宽带断线自动拨号 2.将宽带拨号IP实时绑定到域名 3.开机自动运行 内附程序和使用说明文档,...

    bind.exe 修改默认绑定IP的东东

    修改默认绑定IP的东东。 对于多穴主机[有多个合法IP],对外连接一般总是使用默认IP,有时候也有可能使用 另外其他的IP,但这些我们是不能控制的,因为大部分软件在绑定IP的时候总是使用0作 为绑定地址,这时候都...

    阿里云域名动态解析PHP域名绑定内网.zip

    内网电脑做为服务器使用,把域名解析到内容,可以自由定制定时更换ip, 解决内容断电ip会刷新的功能,

    ip-mac自动绑定

    (1)将BindArp.exe和ArpList.ini拷贝到各台电脑上,并将BindArp.exe放到启动菜单中自动运行绑定IP和MAC地址。该程序适合windows 98以上所有操作系统。(如果想让BindArp.exe程序隐藏运行,请打开ArpList.ini,在第一...

    UDP 实现端到端的通讯,两者之间绑定IP 端口

    绑定IP 和 客户端的 UDP 通讯 ,可以建两个相同的工程,互相对发(修改下绑定的IP 和端口) 详细介绍见https://mp.csdn.net/postedit/81352132

    PHP域名url转发源码 支持隐性转发.zip

    PHP域名url转发源码 支持隐性转发 程序安装说明: ① 把压缩包内的文件上传至空间 ② 访问/install安装 安装注意事项: 需要空间支持域名泛绑定(如果为amh5面板需要将该站点设置为默认站点) 更新说明: 1.修复...

    用arp 绑定IP和MAC地址

    用arp 绑定IP和MAC地址用arp 绑定IP和MAC地址用arp 绑定IP和MAC地址用arp 绑定IP和MAC地址用arp 绑定IP和MAC地址

    DESTOON 绑定已经域名

    DESTOON 绑定已经域名 destoon dt 绑定一级域名

    TOMCAT多域名绑定

    实现了在tomcat下部署多个自己的项目和特定的域名绑定。

Global site tag (gtag.js) - Google Analytics