koji » 2014.07.17 11:30

После определения нужно к адресу сайта добавить код страны, RU, KZ, UA

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function whoIs($url,$ip) {
$fp=fsockopen($url,43,$errno,$errstr);
if(!$fp) exit("$errno($errstr)");
else {
fputs($fp,$ip."\r\n");
$content='';
while(!feof($fp)) {
$content.=fgets($fp,128)."<br/>";
}
fclose($fp);
 
preg_match('|ReferralServer: whois://([^\n<:]+)|i',$content,$matches);
if(!empty($matches[1])) return whoIs($matches[1],$ip);
else return $content;
}
}

whoIs('whois.arin.net',$_SERVER['REMOTE_ADDR'])  -  выводит целый кусок информации

нужно резануть  inetnum:, netname:, country:

inetnum: 5.14.26.0 - 5.14.26.255
netname: ApiNET
country: RU

inetnum: загнать в массив типа IPrng[0] IPrng[1]

на выходе $IPrng[], $netname, $country

опять же проблема с незнанием preg_replace
возможно функцию получения инфо нужно перепесать, замена на curl

Gemorroj » 2014.07.17 12:29

там по моему str_replace даже подходил