Torna al blog

Perché alcuni siti web non si aprono tramite proxy: guida completa

Un proxy è uno strumento potente, ma a volte i siti si rifiutano di aprirsi attraverso di esso. Scopri perché accade e come risolverlo.

📅8 dicembre 2025

Perché alcuni siti non si aprono tramite proxy: guida completa

I proxy sono uno strumento indispensabile per il web scraping, i test, l'automazione SMM e il bypass delle restrizioni geografiche. Ma a volte invece del contenuto vedi un errore 403, timeout o una pagina vuota. Scopriamo perché accade e come risolverlo.

1. Rilevamento e blocco del proxy

Questa è la causa più frequente. Le moderne applicazioni web utilizzano servizi speciali per rilevare il traffico proxy. Il sito analizza:

  • ASN (Autonomous System Number) — molti provider di proxy utilizzano intervalli ASN noti, facili da bloccare
  • Comportamento dell'utente — impossibile cambio rapido tra IP, assenza di cookie, strani modelli di clic
  • Impronte TLS — i browser inviano dati univoci sulla versione SSL, estensioni, ordine di crittografia
  • Impronte WebGL e Canvas — persino JavaScript può rivelare l'uso di un proxy
Esempio: Il sito vede che in 10 secondi dal tuo IP sono state caricate 100 pagine di prodotti. Chiaramente non è una persona — il blocco è inevitabile.

2. Restrizioni geografiche

Il sito controlla la geolocalizzazione dell'IP e nega l'accesso se non corrisponde alle aspettative:

  • Le banche e i servizi finanziari bloccano l'accesso da determinati paesi
  • I servizi di streaming (Netflix, YouTube) limitano i contenuti per regione
  • I siti governativi possono essere inaccessibili dall'estero
  • Le piattaforme di e-commerce cambiano lingua e valuta in base all'IP

Se utilizzi un proxy data center dagli USA e il sito richiede accesso solo dall'Europa — riceverai un errore 403 o un reindirizzamento.

3. Reputazione dell'indirizzo IP

Ogni IP ha una storia. Se l'indirizzo è stato precedentemente utilizzato per spam, scraping o attacchi DDoS, i siti lo bloccheranno:

  • Liste nere — l'IP finisce nei database di Project Honey Pot, Spamhaus, AbuseIPDB
  • Basso punteggio in servizi come IPQualityScore — i siti utilizzano tali servizi per filtrare
  • Violazioni precedenti — se l'IP è stato già bloccato sul sito, potrebbe rimanere nella lista nera a lungo

Puoi controllare la reputazione dell'IP su abuseipdb.com o ipqualityscore.com.

4. Intestazioni e configurazione errate

Spesso i siti bloccano le richieste a causa di intestazioni HTTP mancanti o errate:

Intestazione Problema
User-Agent Mancante o strano (come Python-requests/2.25.1)
Referer Non corrisponde alla logica di navigazione del sito
Accept-Language Mancante o non corrisponde alla geolocalizzazione IP
X-Forwarded-For Rivela l'uso di proxy o VPN

Soluzione: Utilizza intestazioni reali del browser. Ecco un esempio in Python:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1'
}

proxy = 'http://your-proxy:port'
response = requests.get('https://example.com', 
                       headers=headers, 
                       proxies={'http': proxy, 'https': proxy})

5. Problemi di protocollo e porte

Alcuni proxy supportano solo HTTP, ma stai cercando di accedere a un sito HTTPS. Oppure la porta è bloccata a livello di rete:

  • HTTP vs HTTPS — assicurati che il proxy supporti entrambi i protocolli
  • Porte — standard 80 (HTTP) e 443 (HTTPS), ma alcuni siti utilizzano porte non standard
  • SOCKS vs HTTP — diversi tipi di proxy hanno limitazioni diverse
Consiglio: Se il sito non si apre tramite proxy HTTP, prova SOCKS5. Funziona a un livello più basso e aggira meglio alcune restrizioni.

6. Rate limiting e protezione DDoS

Se fai molte richieste di seguito, anche tramite IP diversi, il sito potrebbe bloccarti:

  • 429 Too Many Requests — hai superato il limite di richieste
  • Blocco temporaneo — di solito da 1 a 24 ore
  • Blocco permanente — se continui ad attaccare il server
  • Cloudflare, WAF — sistemi di protezione specializzati che distinguono i bot dagli umani

7. Soluzioni pratiche

✓ Utilizza proxy residenziali invece di data center

I proxy residenziali sono indirizzi IP reali di utenti domestici. Sono molto più difficili da rilevare perché sembrano traffico ordinario. I data center vengono spesso bloccati perché il loro ASN è noto.

✓ Aggiungi ritardi tra le richieste

import time
import random

for url in urls:
    response = requests.get(url, headers=headers, proxies=proxies)
    # Ritardo casuale da 1 a 5 secondi
    time.sleep(random.uniform(1, 5))

✓ Ruota i proxy

Non utilizzare un singolo IP per tutte le richieste. Passa tra diversi indirizzi:

proxies_list = [
    'http://proxy1:port',
    'http://proxy2:port',
    'http://proxy3:port',
]

for i, url in enumerate(urls):
    proxy = proxies_list[i % len(proxies_list)]
    response = requests.get(url, proxies={'http': proxy, 'https': proxy})

✓ Controlla l'IP prima dell'uso

Assicurati che l'IP non sia in una lista nera:

import requests

def check_ip_reputation(ip):
    response = requests.get(f'https://ipqualityscore.com/api/json/ip/{ip}')
    data = response.json()
    return data.get('fraud_score', 0)

# Utilizza solo IP con punteggio basso
if check_ip_reputation(proxy_ip) < 75:
    # L'IP è sicuro
    pass

✓ Utilizza l'automazione del browser per siti complessi

Se il sito utilizza JavaScript e protezione complessa, le normali richieste HTTP non aiuteranno. Utilizza Selenium o Puppeteer:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://proxy:port')

driver = webdriver.Chrome(options=options)
driver.get('https://example.com')

✓ Utilizza proxy mobili per siti mobili

I proxy mobili funzionano tramite reti mobili reali (4G/5G). Sono più affidabili per le applicazioni mobili e spesso non vengono bloccati dai siti che limitano l'accesso dai PC.

✓ Gestisci gli errori correttamente

try:
    response = requests.get(url, proxies=proxies, timeout=10)
    response.raise_for_status()
except requests.exceptions.ProxyError:
    print("Errore proxy — l'IP potrebbe essere bloccato")
except requests.exceptions.Timeout:
    print("Timeout — il server non risponde")
except requests.exceptions.HTTPError as e:
    if response.status_code == 403:
        print("Accesso negato — prova un altro proxy")

Conclusioni

I siti bloccano i proxy per vari motivi: dal rilevamento dei modelli di traffico alla semplice reputazione dell'IP. Non esiste una soluzione universale, ma una combinazione di buoni proxy, intestazioni corrette, ritardi e rotazione degli IP risolverà la maggior parte dei problemi.

Per il parsing e l'automazione si consiglia di utilizzare proxy residenziali di qualità, che sembrano traffico reale di utenti domestici. Sono più costosi dei data center, ma funzionano in modo più affidabile e vengono raramente bloccati.