<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Emilio Taranto - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Impara a programmare gratuitamente! Tutorial di programmazione su Python, JavaScript, Linux e molto altro. ]]>
        </description>
        <link>https://www.freecodecamp.org/italian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Emilio Taranto - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/italian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 19:16:15 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/italian/news/author/emiliotaranto/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Come ottenere informazioni sulla posizione di un indirizzo IP usando Python ]]>
                </title>
                <description>
                    <![CDATA[ A volte può essere utile conoscere la posizione di un indirizzo IP, sia che si tratti del tuo, sia di quello di un sito web che stai utilizzando. Un possibile caso d'uso è quando vuoi inviare informazioni di accesso agli utenti del tuo sito. In questo articolo vedremo come puoi ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/come-ottenere-informazioni-sulla-posizione-di-un-indirizzo-ip-usando-python/</link>
                <guid isPermaLink="false">67f6439574db42043d7dc621</guid>
                
                    <category>
                        <![CDATA[ Python ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Emilio Taranto ]]>
                </dc:creator>
                <pubDate>Thu, 24 Apr 2025 13:22:35 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2025/04/location-ip.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/how-to-get-location-information-of-ip-address-using-python/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Get Location Information of an IP Address Using Python</a>
      </p><p>A volte può essere utile conoscere la posizione di un indirizzo IP, sia che si tratti del tuo, sia di quello di un sito web che stai utilizzando.</p><p>Un possibile caso d'uso è quando vuoi inviare informazioni di accesso agli utenti del tuo sito.</p><p>In questo articolo vedremo come puoi ottenere la posizione di un indirizzo IP utilizzando Python.</p><h1 id="prepara-gli-strumenti"><strong><strong>Prepara gli strumenti</strong></strong></h1><p>Per raggiungere questo obiettivo, useremo due API:</p><ol><li><a href="https://www.ipify.org/"><strong><strong>ipify</strong></strong></a>: questa API ci aiuterà a conoscere l'indirizzo IP da cui proviene la richiesta.</li><li><a href="https://ipapi.co/"><strong><strong>ipapi</strong></strong></a>: questa API ci fornirà informazioni sulla posizione di un determinato indirizzo IP.</li></ol><p>Per interagire con queste API useremo la libreria &nbsp;<code>requests</code> di Python. Se non hai familiarità con le API, assicurati di consultare <a href="https://www.freecodecamp.org/italian/news/cose-un-api-in-italiano-per-favore/">questo articolo</a> per saperne di più.</p><p>Puoi installare questa libreria usando il comando <code>pip</code> in questo modo:</p><pre><code class="language-bash">$ pip install requests
</code></pre><p>Una volta installata la libreria, siamo pronti a partire!</p><h1 id="ottenere-informazioni-sulla-posizione"><strong>Ottenere informazioni sulla posizione</strong></h1><p>Come discusso, per prima cosa otterremo il nostro indirizzo IP tramite la prima API. Poi utilizzeremo questo indirizzo IP per ricavare informazioni geografiche tramite la seconda API. Avremo quindi due funzioni:</p><pre><code class="language-py">import requests


def get_ip():
    response = requests.get('https://api64.ipify.org?format=json').json()
    return response["ip"]


def get_location():
    ip_address = get_ip()
    response = requests.get(f'https://ipapi.co/{ip_address}/json/').json()
    location_data = {
        "ip": ip_address,
        "city": response.get("city"),
        "region": response.get("region"),
        "country": response.get("country_name")
    }
    return location_data


print(get_location())
</code></pre><p>Nel codice qui sopra, abbiamo due funzioni – <code>get_ip()</code> e <code>get_location()</code>. Vediamole separatamente.</p><h3 id="funzione-get_ip-"><strong>Funzione <strong><code>get_ip()</code></strong></strong></h3><p>Secondo la <a href="https://www.ipify.org/">documentazione dell'API ipify</a>, dobbiamo effettuare una richiesta <strong><strong>GET</strong></strong> a <a href="https://api.ipify.org/?format=json"><code>https://api.ipify.org?format=json</code></a> per ottenere una risposta JSON simile a questa:</p><pre><code class="language-json">{
  "ip": "117.214.109.137"
}
</code></pre><p>Salviamo questa risposta in una variabile <code>response</code> che è un dizionario Python contenente una sola coppia chiave-valore. Quindi restituiamo il valore della chiave <code>ip</code> usando <code>response["ip"]</code>.</p><h3 id="funzione-get_location-"><strong>Funzione <strong><code>get_location()</code></strong></strong></h3><p>Secondo la <a href="https://ipapi.co/api/#introduction">documentazione di ipapi</a>, dobbiamo effettuare una richiesta <strong><strong>GET</strong></strong> a <a href="https://ipapi.co/%7Bip%7D/%7Bformat%7D/"><code>https://ipapi.co/{ip}/{format}/</code></a> per ottenere le informazioni sulla posizione per un particolare indirizzo IP. <code>{ip}</code> viene sostituito dall'indirizzo IP e <code>{format}</code> può essere sostituito con uno dei seguenti formati: <code>json</code>, <code>jsonp</code>, <code>xml</code>, <code>csv</code>, <code>yaml</code>.</p><p>Questa funzione chiama internamente la funzione <code>get_ip()</code> per ottenere l'indirizzo IP e poi effettua una richiesta <strong><strong>GET</strong></strong> all'URL con l'indirizzo IP. Questa API restituisce una risposta JSON simile a questa:</p><pre><code class="language-json">{
    "ip": "117.214.109.137",
    "version": "IPv4",
    "city": "Gaya",
    "region": "Bihar",
    "region_code": "BR",
    "country": "IN",
    "country_name": "India",
    "country_code": "IN",
    "country_code_iso3": "IND",
    "country_capital": "New Delhi",
    "country_tld": ".in",
    "continent_code": "AS",
    "in_eu": false,
    "postal": "823002",
    "latitude": 24.7935,
    "longitude": 85.012,
    "timezone": "Asia/Kolkata",
    "utc_offset": "+0530",
    "country_calling_code": "+91",
    "currency": "INR",
    "currency_name": "Rupee",
    "languages": "en-IN,hi,bn,te,mr,ta,ur,gu,kn,ml,or,pa,as,bh,sat,ks,ne,sd,kok,doi,mni,sit,sa,fr,lus,inc",
    "country_area": 3287590,
    "country_population": 1352617328,
    "asn": "AS9829",
    "org": "National Internet Backbone"
}
</code></pre><p>La risposta contiene molte informazioni. Puoi scegliere quelle che ti servono. Per questo tutorial, utilizzeremo solo <code>city</code>, <code>region</code> e <code>country</code>. Per questo abbiamo creato un dizionario chiamato <code>location_data</code>, nel quale abbiamo raccolto questi dati e lo abbiamo restituito come risultato.</p><p>Infine, chiamiamo la funzione <code>get_location()</code> e stampiamo il risultato. L'output sarà simile a questo:</p><pre><code class="language-json">{
  "ip": "117.214.109.137", 
  "city": "Gaya", 
  "region": "Bihar", 
  "country": "India"
}
</code></pre><h1 id="conclusione"><strong><strong><strong><strong>Conclusion</strong></strong></strong>e</strong></h1><p>In questo articolo, abbiamo imparato come interagire con i servizi web per ottenere informazioni sulla posizione per un particolare indirizzo IP.</p><p>Grazie per aver letto questo articolo!</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
