LoadinG

利用百度开发接口实现网站Ping、IP地址、网站测速功能

本文阅读 1 分钟
首页 程序代码 正文

利用百度开发接口创建一个网站Ping接口,用于获取IP地址和进行网站测速。通过该接口,用户可以实时监测网站的响应时间和网络性能。

代码示例

<?php
$hh = $_GET['hh'] ?: "\n";//换行符号(默认\n)
if ($_GET['url'] == null) {
    echo "请输入参数!";
    exit();
}
if (preg_match('/http:\/\//i', $_GET['url']) | preg_match('/https:\/\//i', $_GET['url'])) {
    echo '不能带http://或https://,只需要输入域名!';
    exit();
}
$msg = $_GET['url'];
$host = $msg;
$port = '80';
$num = 2; //Ping次数
$tip = gethostbyname($_GET['url']);
//获取时间
function mt_f()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float) $usec + (float) $sec); //微秒加秒
}
function ping_f($host, $port)
{
    $time_s = mt_f();
    $ip = gethostbyname($host);
    $fp = @fsockopen($host, $port);
    if (!$fp)
        return '测试超时';
    $get = "GET / HTTP/1.1\r\nHost:" . $host . "\r\nConnect:" . $port . "Close\r\n";
    fputs($fp, $get);
    fclose($fp);
    $time_e = mt_f();
    $time = $time_e - $time_s;
    $time = ceil($time * 1000);
    return $time;
}
if (ping_f($host, $port) == '测试超时') {
    echo '测试超时,请检查目标站点是否正常!';
} else {
    for ($i = 0; $i < $num; $i++) {
        if ($i == 0) {
            $s1 = $t . ping_f($host, $port);
        } elseif ($i == 1) {
            $s2 = $t . ping_f($host, $port);
        }
        //每次运行中间间隔1S
        sleep(1);
        //刷新输出缓存
        ob_flush();
        flush();
    }
    $se = json_decode(file_get_contents("http://opendata.baidu.com/api.php?query=" . $tip . "&co=&resource_id=6006&t=1433920989928&ie=utf8&oe=utf-8&format=json"), true);
    $dz = $se["data"][0]["location"];
    if ($s1 > $s2) {
        echo '查询数据:' . $msg . '' . $hh . '';
        echo 'IP地址:' . $tip . '' . $hh . '';
        echo '主机地址:' . $dz . '' . $hh . '';
        echo '最慢:' . $s1 . '/ms' . $hh . '';
        echo '最快:' . $s2 . '/ms' . $hh . '';
        echo '平均:' . (($s1 - $s2) / 2 + $s2) . '/ms';
    } else {
        echo '查询数据:' . $msg . '' . $hh . '';
        echo 'IP地址:' . $tip . '' . $hh . '';
        echo '主机地址:' . $dz . '' . $hh . '';
        echo '最慢:' . $s1 . '/ms' . $hh . '';
        echo '最快:' . $s2 . '/ms' . $hh . '';
        echo '平均:' . (($s1 - $s2) / 2 + $s2) . '/ms';
    }
}
?>

输出结果

查询数据:www.weianet.com IP地址:223.247.116.116 主机地址:安徽省蚌埠市 电信 最慢:7/ms 最快:37/ms 平均:22/ms

文章采用:署名-非商业性使用-相同方式知识共享 署名 4.0 协议国际版 (CC BY-NC-SA 4.0) 许可协议授权。
免责声明:本页面资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除。
分享
Curl 请求封装函数示例代码:GET、POST、DELETE、PUT
« 上一篇 12-02
给网站顶部添加灯笼效果 网站元旦新年灯笼装饰Html代码
下一篇 » 12-02

发表评论 Comment

您必须 后才能发表评论哦~
昵称
请输入您的昵称
邮箱
输入QQ邮箱可获取头像
网址
可通过昵称访问您网站
快捷回复: 验证码:
让大家也知道你的独特见解
已有 0 条评论

动态快讯

热门文章

QQ客服:3236485 QQ群号:530123520

在线时间:09:00-18:00

扫描二维码

联系官方客服微信号

扫描二维码

关注官方微信公众号

{"remain":2,"success":1}