文章摘要
网站Ping接口源码,利用百度开发接口实现IP地址查询和测速服务,支持Ping测试功能。用户可通过输入URL进行查询,支持最多20次Ping测试。代码通过PHP编写,实现了从输入参数验证到数据获取、结果展示的完整流程。
网站Ping接口源码,接口利用的百度开发接口制作,接口可查IP地址和网站测速。
API接口代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?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);}//每次运行中间间隔1Ssleep(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';}}?> |
返回格式示例
1 | {"status":"0","t":"1433920989928","set_cache_time":"","data":[{"ExtendedLocation":"","OriginQuery":"114.158.169.85","appinfo":"","disp_type":0,"fetchkey":"114.158.169.85","location":"日本神奈川","origip":"114.158.169.85","origipquery":"114.158.169.85","resourceid":"6006","role_id":0,"shareImage":1,"showLikeShare":1,"showlamp":"1","titlecont":"IP地址查询","tplt":"ip"}]} |
美化下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { "status": "0", "t": "1433920989928", "set_cache_time": "", "data": [{ "ExtendedLocation": "", "OriginQuery": "114.158.169.85", "appinfo": "", "disp_type": 0, "fetchkey": "114.158.169.85", "location": "日本神奈川", "origip": "114.158.169.85", "origipquery": "114.158.169.85", "resourceid": "6006", "role_id": 0, "shareImage": 1, "showLikeShare": 1, "showlamp": "1", "titlecont": "IP地址查询", "tplt": "ip" }]} |
使用方法:
[yk_WeChatFans]http://winvvv.com/tool/ping.php?url=che0.com&hh=%3Cbr%3E&num=3[/yk_WeChatFans]
© 版权声明
文章版权归作者所有,未经允许请勿转载。



