1,php代码部分
<?php
/**
* 获取网站地理位置
* 获取网站操作系统信息
* edit by www.jb200.com
*/
error_reporting(E_ERROR);
header(“content-Type: text/html; charset=gb2312″);
set_time_limit(120);
$host = isset($_POST['url']) ? chop(str_replace(‘http://’,”,$_POST['url'])) : ‘ www.2cto.com ’;
$port = isset($_POST['duankou']) ? chop($_POST['duankou']) : ’80′;
$num = 10;
function microtime_float()
{
list($usec, $sec) = explode(” “, microtime());
return ((float)$usec + (float)$sec);
}
function ip138($url)
{
$host = ‘www.ip138.com’;
$fp = @fsockopen($host,80,&$errno,&$errstr,3);
$get = “GET /ips.asp?ip=”.$url.” HTTP/1.1rnHost:”.$host.”rnConnection: Closernrn”;
@fputs($fp,$get);
$data = ”;
while ($fp && !feof($fp))
$data .= fread($fp, 1024);
@fclose($fp);
$s1 = ‘<table width=”80%” border=”0” align=”center” cellpadding=”0” cellspacing=”0”>’;
$s2 = ‘</table>’;
$tmp = array();
preg_match_all(“/”.$s1.”([^~]*?)”.$s2.”/i”,$data,$tmp);
$tmp1 = array();
preg_match_all(“/<li>([^~]*?)</li>/i”,$tmp[0][0],$tmp1);
return $tmp1[0][0].$tmp1[0][1].$tmp1[0][2];
}
function getsoft($host,$port)
{
$fp = @fsockopen($host,$port,&$errno,&$errstr,3);
if(!$fp) return ‘unknown’;
$get = “GET / HTTP/1.1rnHost:”.$host.”rnConnection: Closernrn”;
@fputs($fp,$get);
$data = ”;
while ($fp && !feof($fp))
$data .= fread($fp, 1024);
@fclose($fp);
$array = explode(“n”,$data);
$k = 2;
for($i = 0;$i < 20;$i++)
{
if(stristr($array[$i],’Server’)){$k = $i; break;}
}
if(!stristr($array[$k],’Server’)) return ‘unknown’;
else return str_replace(‘Server’,'服务器软件’,$array[$k]);
}
function ping($host,$port)
{
$time_start = microtime_float();
$ip = gethostbyname($host);
$fp = @fsockopen($host,$port,&$errno,&$errstr,1);
if(!$fp) return ‘Request timed out.<br />’.”rn”;
$get = “GET / HTTP/1.1rnHost:”.$host.”rnConnection: Closernrn”;
@fputs($fp,$get);
@fclose($fp);
$time_end = microtime_float();
$time = $time_end – $time_start;
$time = ceil($time * 1000);
return ‘Reply from ‘.$ip.’: time=’.$time.’ms<br />’;
}
if(isset($_POST['url']) && isset($_POST['duankou']))
{
echo ip138($host).’<br /><br />’;
echo ‘<font color=”#FF0000″>’.getsoft($host,$port).’</font><br /><br />’;
echo ‘Pinging ‘.$host.’ ['.gethostbyname($host).'] with Port:’.$port.’ of data:<br /><br />’.”rn”;
ob_flush();
flush();
for($i = 0;$i < $num;$i++)
{
echo ping($host,$port);
ob_flush();
flush();
sleep(1);
}
}
?>
2,页面内容部分
<form method=”POST”> 域名/IP:<input type=”text” name=”url” value=”<?php echo $host;?>” size=”50″> 端口:<input type=”text” name=”duankou” value=”<?php echo $port;?>” size=”10″> <input type=”submit” value=”ping”> </form>
>>> 您可能感兴趣的文章:
php新浪接口查询ip地理位置
php腾讯ip分享计划获取IP地理位置
php通过IP获取地理位置
PHP通过IP获取地理位置的代码
php通过IP获取地理位置的实例参考
php 获取用户真实IP与地理位置(淘宝IP接口)的实现代码
php根据IP地址获取当前地理位置接口