Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661

    [PHP] Get Geo-IP Information - non riesco a prendere i dati / cambiando file_get_contents

    Ciao,

    cerco di modificare questo script http://stackoverflow.com/questions/7...ip-address-php

    la cosa che non va è che http://www.netip.de/search?query= non restituisce un trace IP preciso... se si prova con IP italiani non restituisce tutti i valori.....

    allora ho inserito questo link al posto di quello orginale http://www.ip-tracker.org/ip-to-location.php?ip= che è più preciso.. solo che non riesco a prendere i valori... chi mi saprebbe indicare se è una cosa fattibile?

    grazie di seguito lo script incriminato...


    <?php
    $ip=' IP da trovare la localizzazione';
    print_r(geoCheckIP($ip));
    //Array ( [domain] => dslb-094-219-040-096.pools.arcor-ip.net [country] => DE - Germany [state] => Hessen [town] => Erzhausen )


    //Get an array with geoip-infodata
    function geoCheckIP($ip)
    {
    //check, if the provided ip is valid
    if(!filter_var($ip, FILTER_VALIDATE_IP))
    {
    throw new InvalidArgumentException("IP is not valid");
    }


    //contact ip-server
    $response=@file_get_contents('http://www.ip-tracker.org/ip-to-location.php?ip='.$ip);
    if (empty($response))
    {
    throw new InvalidArgumentException("Error contacting Geo-IP-Server");
    }


    //Array containing all regex-patterns necessary to extract ip-geoinfo from page
    $patterns=array();
    $patterns["domain"] = '#Domain: (.*?)&nbsp;#i';
    $patterns["country"] = '#Country: (.*?)&nbsp;#i';
    $patterns["state"] = '#State/Region: (.*?)<br#i';
    $patterns["town"] = '#City: (.*?)<br#i';


    //Array where results will be stored
    $ipInfo=array();


    //check response from ipserver for above patterns
    foreach ($patterns as $key => $pattern)
    {
    //store the result in array
    $ipInfo[$key] = preg_match($pattern,$response,$value) && !empty($value[1]) ? $value[1] : 'not found';
    }


    return $ipInfo;
    }


    ?>
    figlio perso e MAI ritrovato....?

  2. #2
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    Uppette...
    figlio perso e MAI ritrovato....?

  3. #3
    Mah fare il parsing di una pagina non e' mai la migliore delle idee, per una cosa del genere la soluzione ideale e' usare una API. Da una ricerca al volo ho trovato questo:

    http://ip-api.com/json/151.1.244.200

    che ti restituisce un pratico JSON. Questo e' free ma non so se ha qualche limitazione, e' solo il primo che ho trovato.

  4. #4
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    Grazie mille... il valore che restitutrice quel link ovvero:
    {"as":"AS3242 ITnet S.r.l.","city":"","country":"Italy","countryCode": "IT","isp":"ITnet S.r.l.","lat":42.8333,"lon":12.8333,"org":"ITnet S.r.l.","query":"151.1.244.200","region":"","regio nName":"","status":"success","timezone":"Europe/Rome","zip":""}

    come lo posso elaborare in PHP?

    ad esempio voglio prendere al volo il valore di CITY e inserirlo in una nuova query....

    grazie ancora
    figlio perso e MAI ritrovato....?

  5. #5
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    ho visto ora la documentazione... tutto chiaro.... baciii grazie ancora..
    figlio perso e MAI ritrovato....?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.