Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Assegnazione valori a stringhe da servizio di geolocalizzazione

    Un saluto a tutti.

    Questo è un problema relativo a quello esposto in un post precedente (eccessivo ritardo di esecuzione di un codice php).

    Attualmente, uso in una pagina php un servizio di geolocalizzazione, che tramite l'istruzione:

    Codice PHP:
    $countryguest file_get_contents("http://ipinfo.io/{$_SERVER['REMOTE_ADDR']}/country"); 
    assegna alla stringa $countryguest la nazione del visitatore.

    Adesso però vorrei sostituire il gestore del servizio (causa frequenti ritardi nelle risposte).

    Ne ho trovato uno più "performante", però non so come fare ad assegnare alla stringa sopracitata il codice della nazione del visitatore (mi basta il codice, non tutto il nome).

    Nella loro pagina è specificato quanto segue:

    Usage

    To receive the response in JSON format, send a GET request to

    http://ip-api.com/json

    You can supply an IP address or domain to lookup, or none to use your current IP address.
    Response

    A successful request will return, by default, the following:

    {
    "status": "success",
    "country": "COUNTRY",
    "countryCode": "COUNTRY CODE",
    "region": "REGION CODE",
    "regionName": "REGION NAME",
    "city": "CITY",
    "zip": "ZIP CODE",
    "lat": LATITUDE,
    "lon": LONGITUDE,
    "timezone": "TIME ZONE",
    "isp": "ISP NAME",
    "org": "ORGANIZATION NAME",
    "as": "AS NUMBER / NAME",
    "query": "IP ADDRESS USED FOR QUERY"
    }
    Ho provato a sostituire l' istruzione che già uso:

    Codice PHP:
    $countryguest file_get_contents("http://ipinfo.io/{$_SERVER['REMOTE_ADDR']}/country"); 
    con questa:
    Codice PHP:
    $countryguest file_get_contents("http://ip-api.com/{$_SERVER['REMOTE_ADDR']}/country"); 
    ma purtroppo non funziona.
    Dov'è l'errore?

    Se possibile, qualcuno può indicarmi il codice per avere, in una unica consultazione, oltre al countryCode, anche region e query?


    Grazie.
    E. Barros

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    dalle api del sito, http://ip-api.com/docs/api:json (Example)

    Codice PHP:
    $countryguest file_get_contents("http://ip-api.com/json/{$_SERVER['REMOTE_ADDR']}"); 

  3. #3
    Quote Originariamente inviata da clasku Visualizza il messaggio
    dalle api del sito, http://ip-api.com/docs/api:json (Example)

    Codice PHP:
    $countryguest file_get_contents("http://ip-api.com/json/{$_SERVER['REMOTE_ADDR']}"); 
    Ok, grazie per il suggerimento.

    Quasi ci siamo: con quell'istruzione, la stringa $countryguest conterrà questi valori:


    {"as":"AS3269 Telecom Italia","city":"Rome","country":"Italy","countryCo de":"IT","isp":"Telecom Italia","lat":41.9,"lon":12.4833,"org":"Telecom Italia","query":"79.37.130.93","region":"62","regi onName":"Latium","status":"success","timezone":"Eu rope/Rome","zip":"00137"}


    Adesso, come faccio ad estrarre da questa stringa i singoli valori? Ad esempio, vorrei assegnare ad una stringa $countrycode il valore del countryCode, in una stringa $query il valore della query, ecc. Sempre partendo dalla stringa che contiene il tutto (in questo caso, da $countryguest)?
    E. Barros

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi usare la funzione json_decode (http://php.net/manual/en/function.json-decode.php)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.