Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
czesc,
Czy ktos moze polecic API lub kod jak zrobic mapowanie z IP na panstwo+miasto? znalazlem cos takiego ale nie dziala: Grab the users IP address. $ip = $_SERVER['REMOTE_ADDR']; Get the users City, State and Country. $sturl = 'http://api.hostip.info/get_html.php?ip='.$ip; $ch = curl_init($sturl); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_TIMEOUT,10); $res = curl_exec($ch); $resinfo = curl_getinfo($ch); curl_close($ch); preg_match('/City: ([a-zA-Z].+[a-zA-Z]+)/', $res, $r); preg_match('/ (([A-Z][A-Z])/', $res, $s); $city = $r[1]; $country = $s[1]; z: http://www.scriptiny.com/2008/04/map-your-...ps-api-and-php/ dzieki, Robert |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
http://freegeoip.net/csv/TU_IP
Nie zawsze działa, i niekoniecznie poprawnie wskazuje. http://www.google.pl/search?q=ip+geolocation+database |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
nie wiem jak tego uzyc.
a w googlach tez szukam, ale wciaz porazka. |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
http://freegeoip.net/csv/TU_IP
W miejscie TU_IP masz wpisac IP, ktore cie interesuje... |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
W adres wstawiasz IP i w odpowiedzi dostajesz CSV z danymi
np: http://freegeoip.net/json/185.49.14.112 możesz zmienic json na xml, csv, json |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
aha, troche rozjasniliscie, dostalem plik textowy:
"176.35.234.145","GB","United Kingdom","","","","","51.5000","-0.1300","","" ale jak zrobic by takie mapoweanie z IP -> Panstwo + miasto zrobic w kodzie PHP? btw: miasta nie ma tu jeszcze cos znalazlem: http://www.ipinfodb.com/ip_location_api.php |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Znasz funkcję explode w php?
Albo użyj formatu JSON, kliknij w link od Pyton_000, to zobaczysz gdzie i co jest. Miasto nie zawsze jest, tu przykład z miastem: "XXX.XXX.XXX.XXX","PL","Poland","78","Mazowieckie","Pruszków","","52.1626","20.8129","","" Ten post edytował trueblue 13.11.2014, 17:44:25 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
@trueblue
jeszcze jestem glabem w tych technologiach, ale szybko sie ucze oki, czyli tego jsona mam PHP explode porozdzielac i wybrac panstwo, miasto zaraz poszukam o parsowaniu jsona rany ile nowosci (IMG:style_emoticons/default/smile.gif) dzieki chlopaki |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
To co dostałeś, to nie JSON, tylko CSV, jego rozdzielasz explode.
Jeśli będziesz miał JSON i znajdziesz jak go parsować, to właśnie tą znalezioną funkcją. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
sorry za mega lamerskie pytanie ale co zrobic (w PHP) z tym $sturl by dostac w nowej zmiennej tego JSONa stringa?
$user_ip=$_SERVER['REMOTE_ADDR']; //calc country/city $sturl = 'http://freegeoip.net/json/'.$user_ip; |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
json_decode i masz tablicę
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
json_decode i masz tablicę parsowanie JSONa to bedzie kolejny krok, najpierw musze sie nauczyc jak przypisac tego JSONa do jakiejs zmiennej w PHP. To co napisalem powyzej. |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
W ten sposób. Moze sie jednak zdarzyc, ze maja zabezpieczenie przed pobieraniem danych w ten sposób, wtedy pozostaje cURL. |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
Dziala, wielkie dzieki:
$user_ip=$_SERVER['REMOTE_ADDR']; $sturl = 'http://freegeoip.net/json/'.$user_ip; $json = file_get_contents($sturl); $json_a = json_decode($json,true); //var_dump($json_a); $country=$json_a["country_code"]; $city=$json_a["city"]; ... + zapis do bazy niestety czasem sie wywala z takim bledem: Warning: file_get_contents(http://freegeoip.net/json/176.35.234.145) [function.file-get-contents]: failed to open stream: HTTP request failed! co poczac? |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Napisałem wyzej ze moze sie tak zdarzyc
cUrl - http://stackoverflow.com/questions/697472/...-request-failed |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
tak, tak, wiem pisales, juz na to patrze (IMG:style_emoticons/default/smile.gif)
tak zrobilem: /// method 2 $sturl = 'http://freegeoip.net/json/'.$user_ip; $ch = curl_init($sturl); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_TIMEOUT,10); $res = curl_exec($ch); //$resinfo = curl_getinfo($ch); curl_close($ch); //var_dump($res); $json_a = json_decode($res,true); $country=$json_a["country_code"]; $city=$json_a["city"]; ... i zapis do bazy, ...wyglada ze dziala jesze raz dzieki za pomoc jeszcze raz o tym samym ... http://freegeoip.net/ juz nie istnieje wiec ponawiam prosbe, czy mozecie mi podpowiedziec co Wy stosujecie do tego typu konwersji? a przy okazji, wywolanie CURL na stronie bylo zbyt wolne, stad mysle by przeniesc logike konwersji ip->country+city poza kod strony, do jakiegos skryptu php ktory uruchamialbym cronem. podpowie ktos? nikt nie robi tego typu operacji? trudno mi uwierzyc jakos (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
Tak trudno włączyć sobie Google i poszukać (IMG:style_emoticons/default/questionmark.gif)
http://ip-api.com/docs/api:json |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
Nie trudno Pyton, wierz mi, ze mam z 10 zakladek otwartych i ciagle szukam w google. Najlepiej sie uczyc z przykladow.
Tyle ze w internecie jest tyle tych przykladow ale i smieci, ze wole spytac tutaj na forum, gdzie licze ze ktos kto ma pojecie bo uzywa podpowie mi cos sprawdzonego co dziala. dzieki. |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
Ładniej by było napisać
"Hej. Mam pytanie. Znalazłem xx stron które oferują API do zamiany IP na adresy: (tutaj wymieniamy co mamy). Czy któreś wg. Was jest lepsze? Macie z nimi doświadczenie?" Wtedy Ty dostaniesz poradę nt. przytoczonych przykładów czy warto czy nie, ew. ktoś Ci podeśle coś lepszego. A i w temacie będzie coś wartościowego. |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%)
|
zaaplikowalem http://ip-api.com/docs/api:json i ladnie dziala (IMG:style_emoticons/default/smile.gif)
dziekuje mr. Pyton_000 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 20:36 |