利用百度开发接口创建一个网站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) 许可协议授权。
免责声明:本页面资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除。
免责声明:本页面资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除。