Извличане на информация от чужд сайт

WildBeast

Registered
Здравейте, искам от този сайт http://whatismyipaddress.com/staticpages/index.php/ip-details?ip=193.151.83.134 да взема данните:

Hostname: 83-134.static.rozabg.com
ISP: Terasyst Ltd Karlovo
Organization: Terasyst Ltd Karlovo
Proxy: None detected
Country: Bulgaria
bg.png

City: Klisura

И да ги сложа в моя сайт. Разбира се на всяко IP да взимам данните, а не само и единствено на това. Как ще стане?
 
Сайта има защита и не може да се вземе съдържание.
Ще опитам пак, но при първия опит нищо не стана :D :D :D
 
Ето заповядай:
<?php
set_time_limit(0);
ini_set('user_agent', 'Download Master');
//$ip = $_SERVER['REMOTE_ADDR'];
$address = "http://whatismyipaddress.com/staticpages/index.php/ip-details?ip=193.151.83.134";
$content = file_get_contents($address);
preg_match_all('/<TABLE.*?>(.*?)<TR><TD>(?:Blacklist:)/', $content, $matches);
echo "<table>{$matches[1][0]}</table>";
?>
така извежда съдържанието на IP адреса, който ти си дал.За да ти работи както ти искаш ползвай следния код:
<?php
set_time_limit(0);
ini_set('user_agent', 'Download Master');
$ip = $_SERVER['REMOTE_ADDR'];
$address = "http://whatismyipaddress.com/staticpages/index.php/ip-details?ip=".$ip;
$content = file_get_contents($address);
preg_match_all('/<TABLE.*?>(.*?)<TR><TD>(?:Blacklist:)/', $content, $matches);
echo "<table>{$matches[1][0]}</table>";
?>
 
Ако може да добавиш и да показва от коя държава е IP-то + флагчето и...
Като тук:
IP country code: MK
IP address country:
mk.png
Macedonia

На мен това ми трябва, останалото го исках просто за да се уверя, че държавата е правилна, например на някой IP-та на БТК показва, че са от Македония, Сърбия, Турция и т.н. Имам игра и искам на всеки IP адрес да има информация, за да знам дали е прокси или не. Сега проверявам от този сайт, а ми трябва да се изписва в моя, та да не си губя времето да преглеждам всяка 1 страница, на ден поне по 100-200 IP-та преглеждам.. Надявам се да ми помогнеш!
 
Много ми трябва да показва флага и името на държавата :? ... Другите не бяха толкова важни, но това ми трябва непременно. Можеш ли да го напишеш? :(

Country: United States
us.png
 
WildBeast каза:
Много ми трябва да показва флага и името на държавата :? ... Другите не бяха толкова важни, но това ми трябва непременно. Можеш ли да го напишеш? :(
Аз мога ако показва кода някъде!Незнам защо при мен не излиза
 
emagi каза:
WildBeast каза:
Много ми трябва да показва флага и името на държавата :? ... Другите не бяха толкова важни, но това ми трябва непременно. Можеш ли да го напишеш? :(
Аз мога ако показва кода някъде!Незнам защо при мен не излиза

Намерих по-бързо зареждащ сайт с информация за IP-то - http://www.ip-adress.com/reverse_ip/83.228.80.85

Може ли да направиш да взима само:

IP Country:
mk.png
Macedonia
This IP address resolves to 83-228-80-85.btc-net.bg [Whois] [Trace]

Това ми е достатъчно и като съдя по времето, за което зарежда сайта проблеми няма да имам както сега.. Забавя ми целия сайт ако ДБ е с над 300 IP-та и аз заредя страницата, на която е листа с всичките IP-та...

Благодаря предварително!!
 
Виж този код:
Код:
<?php
set_time_limit(0);
ini_set('user_agent', 'Download Master');
//$your_ip = $_SERVER['REMOTE_ADDR'];
$address = "http://www.ip-adress.com/reverse_ip/83.228.80.85";
$content = file_get_contents($address);
preg_match('/<div id=\"ipinfo\">(.*?)<\/div>/s', $content, $matches);
$result = preg_replace('/\/flags\/.*?\.png/', "http://www.ip-adress.com$0", $matches[0]);
$result= preg_replace('/\/ip_addresses\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/', "http://www.ip-adress.com$0", $result);
$result = preg_replace('/(\/whois\/.*?)\"/', "http://www.ip-adress.com$0", $result);
$result = preg_replace('/(\/ip_tracer\/.*?)\"/', "http://www.ip-adress.com$0", $result);
echo $result;
?>
Иначе в сайта трябва да си го направиш:
Код:
<?php
set_time_limit(0);
ini_set('user_agent', 'Download Master');
$your_ip = $_SERVER['REMOTE_ADDR'];
$address = "http://www.ip-adress.com/reverse_ip/$your_ip";
$content = file_get_contents($address);
preg_match('/<div id=\"ipinfo\">(.*?)<\/div>/s', $content, $matches);
$result = preg_replace('/\/flags\/.*?\.png/', "http://www.ip-adress.com$0", $matches[0]);
$result= preg_replace('/\/ip_addresses\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/', "http://www.ip-adress.com$0", $result);
$result = preg_replace('/(\/whois\/.*?)\"/', "http://www.ip-adress.com$0", $result);
$result = preg_replace('/(\/ip_tracer\/.*?)\"/', "http://www.ip-adress.com$0", $result);
echo $result;
?>
 
WildBeast каза:
Де да можех да ти дам повече от +1... :?
Не ми хареса, че трябва "50"-сет пъти да минаваш през preg_replace, затова пробвах следното, и мисля чв сега( а и съм убеден) , че кода е доста по-бърз:
PHP:
<?php
//written by eMagi
set_time_limit(0);
ini_set('user_agent', 'Download Master');
//$your_ip = $_SERVER['REMOTE_ADDR'];
$address = "http://www.ip-adress.com/reverse_ip/83.228.80.85";
$content = file_get_contents($address);
preg_match('/<div id="ipinfo">(.*?)<\/div>/s', $content, $matches);
$pattern[0] = '/(\/ip_addresses\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/';
$pattern[1] = '/\/flags\/.*?\.png/';
$pattern[2] = '/(\/whois\/.*?)"/';
$pattern[3] = '/(\/ip_tracer\/.*?)"/';
$replacements[0] = "http://www.ip-adress.com$0";
$replacements[1] = "http://www.ip-adress.com$0";
$replacements[2] = "http://www.ip-adress.com$0";
$replacements[3] = "http://www.ip-adress.com$0";
[color=red]$result = preg_replace($pattern,$replacements,$matches[0]);[/color]
echo $result;
?>
 
аз се опитвам да направя подобно, но е малко безмислено както е в момента защото ти показва на теб инфото, ето виж:
http://bgrapar.com/IP/
ако ти допада, ти давам кода :)
 
Този код не може ли да се пренапише да показва само държавата и флага на държавата? Или да се направи някак си да не се сързва със други сайтове и да показва пак ИП то от коя държава е и флага.
 
Имах предвид някъв по прост код и този не е зле но ддз не ми харесва и позлвам mssql.. Да показва само държавата и флага даже ако може да едитнете този код който е даден на emagi ще е супер щот тва да не се свързва с някой сайт е малко като не възможно.. да има всички IP–та и такива :))
 

Back
Горе