# 403 Forbidden durante scraping con proxy: cause e cosa fare

> Perché un sito risponde 403 Forbidden a uno scraper dietro proxy, come distinguere un blocco da un bug e cosa fare senza violare le regole del sito.

- URL: https://crawlrelay.com/it/docs/errors/403-forbidden/
- Ultimo aggiornamento: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Codice di stato HTTP (4xx, errore client): il messaggio esatto in ogni strumento, le cause probabili in ordine e la soluzione che funziona.

**Risposta rapida — Cosa significa 403 Forbidden con un proxy?**

**Un 403 Forbidden** significa che il server ha compreso la tua richiesta e rifiuta di servirla. Quando fai scraping tramite proxy residenziali CrawlRelay, un 403 quasi sempre proviene dal sito target o dal suo firewall, non dal proxy. Scopri il motivo prima di inviare altro traffico: paese sbagliato, header mancanti, pagina dietro login o sito che non permette accesso automatizzato.

## 403 Forbidden a colpo d'occhio

| Attributo | Valore |
| --- | --- |
| Errore | 403 Forbidden |
| Tipo | Codice di stato HTTP (4xx, errore client) |
| Inviato da | Solitamente il sito target o il suo firewall; a volte il proxy per una destinazione bloccata |
| Definito in | RFC 9110, section 15.5.4 |
| Riprovarlo? | Una volta, dopo una pausa e con un nuovo IP; ripetuti 403 indicano stop |
| Prima verifica | Apri la stessa URL in un browser normale dello stesso paese |

## Cosa significa 403 Forbidden?

La RFC 9110 definisce 403 come rifiuto: il server ha capito la richiesta e non la eseguirà. A differenza del 401, nuove credenziali non aiutano. Un sito può spiegare la ragione nel corpo della risposta, ma molti firewall restituiscono una pagina breve e generica.

Per uno scraper, il 403 è segnale di policy. Il sito ha deciso che questa richiesta, da questo IP, con questi header, a questa frequenza, non dovrebbe ottenere la pagina. Alcuni di questi input puoi correggerli tu. Altri sono un no dal sito.

## Com'è a 403 in Python, curl, Node.js e browser?

Lo stesso errore si presenta in modo diverso in ogni strumento. Questi sono i messaggi da cercare nei log:

- **Python requests:** `r.status_code == 403`, spesso con corpo HTML di un firewall
- **Scrapy:** `Ignoring response <403 https://...>: HTTP status code is not handled or not allowed`
- **curl:** `HTTP/2 403` nell'output verbose
- **Playwright, Puppeteer:** la navigazione ha successo ma `response.status()` torna 403 e la pagina mostra messaggio di accesso negato

## Cosa causa a 403?

Probabilmente prima:

- **Geografia.** Il contenuto non è offerto nel paese IP di uscita, o il sito serve solo una regione.
- **Reputazione IP.** Il sito blocca range di indirizzi associati a traffico automatico. I range di datacenter sono bloccati più spesso di quelli residenziali.
- **Fingerprint della richiesta.** Header mancanti o incoerenti, come l'assenza di `Accept-Language`, o User-Agent browser inviato da client HTTP semplice.
- **Frequenza.** Troppe richieste in poco tempo da una sessione, quindi il firewall passa da 429 a 403.
- **Regole d’accesso.** La pagina richiede login, account a pagamento o è esclusa per crawler da robots.txt o termini di uso.
- **Politica proxy.** Alcune destinazioni sono rifiutate dallo stesso proxy. Su CrawlRelay copre categorie dell’Acceptable Use Policy.

## Come diagnostico a 403 passo dopo passo?

1. Carica l'URL in un browser normale dello stesso paese. Se fallisce anche lì, la pagina non è pubblica per quella località.
2. Confronta gli header che invia lo scraper con quelli del browser.
3. Controlla i robots.txt e i termini per regole su accesso automatizzato.
4. Osserva il pattern temporale: 403 che iniziano dopo N richieste indicano frequenza, non IP.

*Testa l'URL che fallisce con curl (porta HTTP, verbose)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## Come risolvo a 403?

- **Scegli il paese giusto** con il parametro `country-` così vedi l'edizione che i visitatori locali vedono.
- **Invia header onesti e completi.** Identifica il tuo crawler nel User-Agent con un URL di contatto e manda `Accept` e `Accept-Language`.
- **Rallenta.** Abbassa la concorrenza per host e aggiungi ritardi. Vedi [come gestire 403, 429 e CAPTCHA](https://crawlrelay.com/it/guides/403-429-captcha/).
- **Rispetta un rifiuto.** Se un sito blocca accesso automatico volontariamente, cerca un’API ufficiale, una licenza dati o un dataset pubblico. Usare IP rotanti per superare blocchi volontari viola la [Acceptable Use Policy](https://crawlrelay.com/it/acceptable-use/).

## Devo riprovare dopo a 403?

Riprova un 403 al massimo una volta, dopo una pausa, con un nuovo IP. Un singolo ritentativo separa un indirizzo segnalato da una regola estesa al sito. Se anche il secondo tentativo restituisce 403, smetti di inviare richieste a quel pattern URL e rivedi la tua configurazione. Insistere su un 403 spreca banda e trasforma un blocco soft in uno hard.

## Come si applica 403 Forbidden a CrawlRelay?

Su CrawlRelay una nuova connessione senza ID sessione normalmente esce da un IP residenziale differente, quindi un singolo retry verifica un indirizzo nuovo. Mantieni lo stesso paese quando ritenti: cambiare paese cambia contenuti da confrontare. Le richieste a siti bancari, governativi e portali di pagamento sono rifiutate dal gateway secondo AUP.

Gateway: `gw.crawlrelay.com`, porta 7777 (HTTP, HTTPS tramite CONNECT) e porta 7778 (SOCKS5). Formato username: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Correlato: [429 Too Many Requests](https://crawlrelay.com/it/docs/errors/429-too-many-requests/) · [401 vs 407](https://crawlrelay.com/it/docs/errors/401-unauthorized/) · [Handling 403, 429 and CAPTCHAs](https://crawlrelay.com/it/guides/403-429-captcha/).

## 403 Forbidden: domande frequenti dagli sviluppatori

### Un 403 significa che il mio IP proxy è bannato?

Non necessariamente. Un 403 può derivare da un paese sbagliato, header mancanti, frequenza di richieste o una pagina che non è pubblica. Prova lo stesso URL da un browser nello stesso paese e confronta. Se un IP nuovo ottiene la pagina e quello vecchio no, il vecchio IP è stato segnalato. Se ogni IP riceve un 403, la causa sono le regole del sito.

### I proxy residenziali eliminano gli errori 403?

Non come regola. Un exit residenziale nel paese o città giusta corregge un 403 causato dalla posizione sbagliata, perché il sito serve la sua edizione locale. Se un sito filtra i range di hosting o rifiuta i crawler per tenere fuori il traffico automatizzato, un IP residenziale non rende quell'accesso consentito. I 403 causati da header, frequenza o muri di login richiedono correzioni nel tuo codice.

### È legale continuare a fare scraping dopo un 403?

Un 403 è un segnale chiaro che il sito rifiuta la richiesta. Superare barriere tecniche deliberate può creare rischi legali in diversi paesi, ad esempio sotto leggi anti-elusione o di uso improprio dei computer. Questo non è un consiglio legale. Leggi la nostra panoramica su [web scraping law in 2026](https://crawlrelay.com/it/guides/is-web-scraping-legal/) e consulta un avvocato per il tuo caso.

## Altri errori proxy in questo riferimento

- [401 Unauthorized vs 407](https://crawlrelay.com/it/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/it/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/it/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/it/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/it/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/it/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/it/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/it/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/it/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/it/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/it/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/it/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/it/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/it/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/it/docs/errors/ssl-wrong-version-number/)

**Proxy residenziali con documentazione che copre i casi di errore** Proxy residenziali CrawlRelay da 0,50 USD/GB, traffico che non scade mai. [Vedi i prezzi](https://crawlrelay.com/it/pricing/) · [Avvio rapido](https://crawlrelay.com/it/docs/)

---

CrawlRelay: CrawlRelay è un servizio di proxy residenziali rotanti e proxy mobili 4G/5G primo per sviluppatori: traffico pay-as-you-go senza scadenza da 0,50 USD/GB, pagato in crypto, senza caricamento documenti. Senza KYC — niente documento, selfie o altri documenti. Paga in crypto.
