Come risolvere l'errore 407 Proxy Authentication Required
Aggiornato:
Un errore 407 è una notizia migliore di quanto sembri: il tuo dispositivo ha raggiunto il proxy e il percorso di rete è aperto. Il proxy sta semplicemente segnalando di non aver ricevuto un nome utente o una password validi. Ecco perché quasi tutti gli errori 407 si risolvono intervenendo sulle credenziali, non sul router o sul firewall.
Cause di un errore 407, dalla più probabile
- Nome utente o password errati o mancanti. Un carattere digitato male o uno spazio finale copiato insieme alla password. Questo spiega la maggior parte delle segnalazioni di errore 407.
- Campi incollati nelle caselle sbagliate. L'intera stringa
ip:port:user:passfinisce nel campo Host, oppure il nome utente finisce nel campo della password. Alcuni strumenti separano i quattro campi automaticamente, altri no. - L'app non invia mai le credenziali. Le impostazioni proxy del sistema operativo memorizzano solo l'indirizzo e la porta. Le app che non possono richiedere una password si connettono senza un'intestazione di autenticazione e ricevono un 407 in risposta.
- Caratteri speciali nell'URL del proxy. Nel formato
http://user:pass@host:port, caratteri come@,:o#nella password devono essere percent-encoded (@diventa%40), altrimenti la stringa viene suddivisa nel punto sbagliato.
Come si presenta concretamente un errore 407
Abbiamo riprodotto l'errore su un proxy di test, mostrato qui con l'indirizzo di documentazione 203.0.113.10:8080 e la combinazione volutamente errata user123:pass456. Verso un sito HTTPS, curl -x http://user123:[email protected]:8080 https://example.com restituisce curl: (56) CONNECT tunnel failed, response 407. Verso un normale sito HTTP con -w %{http_code}, curl restituisce semplicemente 407.
Aggiungi -v per verificare se le credenziali sono state inviate. La traccia mostra > CONNECT example.com:443 HTTP/1.1, poi > Proxy-Authorization: Basic ... e solo a quel punto il 407. Se la riga Proxy-Authorization manca, il tuo client non ha mai inviato i dati di accesso.
Il proxy checker di VinaProxy segnala lo stesso scenario con auth failed (407). Chrome headless, non disponendo di una finestra di dialogo di accesso, lo visualizza come ERR_TUNNEL_CONNECTION_FAILED; consulta la pagina dell'errore di tunnel.
Soluzioni per ambiente
- Windows e Chrome: Chrome segue le impostazioni proxy di Windows (Impostazioni > Rete e Internet > Proxy), che contengono solo indirizzo e porta. Al primo caricamento di una pagina, Chrome apre una finestra di accesso per inserire nome utente e password del proxy. Se hai digitato male i dati e la finestra non riappare, chiudi tutte le finestre di Chrome e riaprilo.
- Browser antidetect (AdsPower, GoLogin, GenLogin): mantieni Host, Porta, Nome utente e Password in campi separati. Cancella del tutto il campo password e incollala nuovamente invece di modificarla. Trovi una guida campo per campo nella guida alla configurazione di GoLogin.
- Smartphone: su iPhone è presente l'opzione Autenticazione in Impostazioni > Wi-Fi > (i) > Configura proxy; lasciarla disattivata genera un 407. Di norma Android accetta solo host e porta, quindi le app che richiedono l'autenticazione potrebbero mostrare un errore generico di connessione.
- curl: passa
-U "user:pass"separatamente invece di inserirlo nell'URL, evitando così problemi legati ai caratteri speciali. - Python requests: imposta
http://user:pass@host:portper entrambe le chiavihttpehttpsdel dizionarioproxies, e codifica le password complesse conurllib.parse.quote.
Le credenziali sono corrette ma il 407 persiste
Verifica i protocolli. VinaProxy offre proxy HTTP(S) con autenticazione user:pass e anche proxy SOCKS5: seleziona il protocollo indicato nel tuo ordine nella dashboard. Se lo strumento di verifica restituisce not socks5, quella porta utilizza HTTP e non deve essere configurata come SOCKS5.
Passo dopo passo
- 1
Copia la stringa del proxy dalla dashboard
Apri l'ordine nella dashboard di VinaProxy e copia l'intera riga invece di digitarla manualmente.
- 2
Verificala con il proxy checker
Incollala nel proxy checker. Il risultato
auth failed (407)conferma un problema di credenziali e non di rete. - 3
Reinserisci nome utente e password da zero
Svuota entrambi i campi nel tuo software e incollali nuovamente, assicurandoti che non vi siano spazi iniziali o finali.
- 4
Allinea il protocollo a quello dell'ordine
Imposta il tipo di proxy su HTTP o SOCKS5 esattamente come specificato nell'ordine, quindi salva.
- 5
Esegui un tracciamento con curl -v se il problema persiste
Esegui
curl -vcon i tuoi valori effettivi e verifica la presenza della rigaProxy-Authorizationprima del 407.
Domande frequenti
L'errore 407 può essere dovuto al blocco del proxy da parte del mio provider Internet?
No. Il 407 viene inviato dal proxy stesso, il che significa che la connessione è andata a buon fine. Un blocco di rete si manifesterebbe invece come timeout o connessione rifiutata; vedi proxy timeout.
Perché Chrome continua a richiedere l'accesso al proxy?
Ogni inserimento errato genera un nuovo 407 e Chrome ripropone la richiesta. Controlla il tasto Blocco Maiuscole e assicurati che metodi di input in lingua vietnamita o simili non stiano aggiungendo accenti alla password.
Come inserisco una password contenente @ nell'URL di un proxy?
Codificala: @ diventa %40, : diventa %3A, # diventa %23. Con curl, il parametro -U ti consente di evitare del tutto la codifica.
Selenium o Puppeteer mostrano un errore di tunnel invece del 407. È lo stesso problema?
Di solito sì. Chrome headless non può mostrare una finestra di autenticazione, quindi il 407 si manifesta come ERR_TUNNEL_CONNECTION_FAILED. Fornisci le credenziali tramite il meccanismo di autenticazione della libreria, come illustrato nella guida a Selenium.
Proxy privati con credenziali chiare
Ogni ordine su VinaProxy ti fornisce una riga ip:port:user:pass pronta da copiare una volta e incollare ovunque.
Scopri i prezzi dei proxy