Quando si lavora con Puppeteer, una potente libreria Node.js usata per l'automazione del browser, gli utenti possono incontrare diversi errori mentre cercano di configurare le impostazioni del proxy. Uno degli errori più specifici è ERR_NO_PROXIES_SUPPORTATI
soprattutto quando si utilizza il protocollo socks5h. Questo blog si propone di analizzare l'errore, spiegarne le cause e offrire una soluzione per superare il problema.
Che cos'è il Burattinaio?
Burattinaio è ampiamente utilizzato per l'automazione del browser, il web scraping e il test di applicazioni web. Fornisce una versione headless di Chrome (o Chromium) e consente agli utenti di eseguire azioni di scripting all'interno di un ambiente browser utilizzando JavaScript. Una delle sue funzionalità chiave include la possibilità di configurare le impostazioni di rete, compresi i proxy, rendendolo una scelta popolare per coloro che cercano di automatizzare le attività di scraping dietro i proxy.
Che cosa sono SOCKS5 e SOCKS5H?
Prima di addentrarci nell'errore, è importante capire le differenze tra SOCKS5 e SOCKS5H:
- CALZATURE5 è un protocollo proxy versatile che consente la trasmissione di dati attraverso una connessione TCP. Supporta un'ampia gamma di applicazioni, tra cui la navigazione, la posta elettronica e i trasferimenti P2P.
- CALZATURE5H (SOCKS5 con risoluzione dell'hostname) estende SOCKS5 risolvendo le query DNS sul server proxy anziché sul computer locale. Questo ulteriore livello di privacy garantisce che le richieste DNS non si disperdano, rendendo socks5h la scelta preferita da alcuni utenti attenti alla sicurezza.
Perché si verifica l'errore ERR_NO_SUPPORTED_PROXIES?
L'errore ERR_NO_SUPPORTED_PROXIES si verifica quando Puppeteer non riesce a configurare e connettersi correttamente a un proxy specificato. Questo può accadere spesso quando gli utenti tentano di usare il protocollo socks5h con Puppeteer.
Diversi fattori possono causare questo errore:
Protocollo proxy non supportato: Puppeteer supporta nativamente alcuni tipi di proxy, ma può avere problemi con altri, come socks5h. Se il protocollo proxy non è supportato, Puppeteer lancia l'errore ERR_NO_SUPPORTED_PROXIES.
Impostazioni proxy non configurate correttamente: La configurazione del proxy impostata in modo errato o la fornitura di un URL proxy non valido possono causare questo errore.
Conflitti di risoluzione DNS: Poiché socks5h risolve le query DNS sul server proxy, qualsiasi problema con la risoluzione DNS o con il server proxy stesso potrebbe causare l'errore.
Versione obsoleta del burattinaio: Le vecchie versioni di Puppeteer potrebbero non supportare pienamente le configurazioni proxy avanzate, tra cui SOCKS5 o SOCKS5H.
Come risolvere 'ERR_NO_SUPPORTED_PROXIES' in Puppeteer
Ecco una guida passo passo su come risolvere questo errore:
Passo 1. Verifica del supporto del protocollo proxy
Mentre socks5h fornisce una protezione contro le perdite DNS, Puppeteer non supporta nativamente il protocollo socks5h, ma supporta socks5. Si può iniziare controllando la documentazione di Puppeteer per il supporto dei proxy. Il passaggio a SOCKS5 può risolvere il problema di 'puppeteer' 'err_no_supported_proxies' 'socks5h' nella maggior parte dei casi. Ecco un esempio di come configurare Puppeteer con un proxy SOCKS5:
const browser = await puppeteer.launch({
args: ['--proxy-server=socks5://'proxy-host':'proxy-port'']
});
Se il vostro progetto richiede socks5h a causa di problemi di risoluzione DNS, potreste prendere in considerazione l'uso di un plugin per la gestione dei proxy (spiegato nel prossimo passo).
Passo 2. Aggiornare Puppeteer alla versione più recente
Assicurarsi che la versione di Puppeteer in uso sia aggiornata. Le nuove versioni introducono spesso correzioni e nuove funzionalità, tra cui un migliore supporto per i proxy. Per aggiornare Puppeteer:
npm install puppeteer@latest
Passo 3. Utilizzare Puppeteer Extra con il plugin Proxy
Se socks5h è un must per il vostro progetto, considerate l'uso del plugin puppeteer-extra-plugin-proxy. Questo plugin estende le capacità proxy di Puppeteer e supporta configurazioni proxy più avanzate, tra cui socks5h.
npm install puppeteer-extra puppeteer-extra-plugin-proxy
Quindi, nello script di Puppeteer:
const puppeteer = require('puppeteer-extra');
const pluginProxy = require('puppeteer-extra-plugin-proxy');
puppeteer.use(pluginProxy({
proxyUrl: 'socks5h://'proxy-host':'proxy-port''
}));
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
});
Questa configurazione consente a Puppeteer di utilizzare il protocollo socks5h, evitando ERR_NO_SUPPORTED_PROXIES.
Passo 4. Controllare le impostazioni del server proxy
Infine, è importante verificare la correttezza delle impostazioni del server proxy. Assicurarsi che il server proxy supporti socks5h e che non ci siano restrizioni che possano impedire la connessione di Puppeteer.
Passo 5. Scegliete i proxy con supporto per la risoluzione DNS
Quando si lavora con Puppeteer e i proxy, la scelta del fornitore di proxy gioca un ruolo fondamentale per evitare errori come ERR_NO_SUPPORTED_PROXIES. Se socks5h non è un requisito rigoroso, ma lo è la prevenzione delle fughe di DNS, considerate l'uso di servizi proxy di alta qualità che gestiscono la risoluzione DNS in modo sicuro. Per questo, OkeyProxy offre soluzioni proxy robuste che gestiscono i protocolli SOCKS5, rappresentando una scelta ideale per i progetti Puppeteer.
Con OkeyProxy, gli utenti beneficiano di:
- Alta velocità e stabilità: Connessioni proxy affidabili assicurano che le attività di web scraping o di automazione procedano senza interruzioni.
- Supporto SOCKS5: OkeyProxy supporta pienamente il protocollo SOCKS5, rendendolo perfettamente compatibile con le configurazioni Puppeteer.
- Copertura globale: Grazie a una vasta rete di server proxy in tutto il mondo, OkeyProxy garantisce prestazioni ottimali, indipendentemente dalla posizione geografica.

Per chi cerca un equilibrio tra prestazioni, privacy e compatibilità, OkeyProxy è la scelta migliore per integrare i proxy con Puppeteer. Il vantaggio aggiuntivo della risoluzione DNS e delle opzioni proxy avanzate garantisce una navigazione o un'automazione web sicura e anonima.
Registro e Contatta il team OkeyProxy per ottenere una prova gratuita di 1 GB!
Conclusione
L'errore ERR_NO_SUPPORTED_PROXIES in Puppeteer spesso deriva dall'uso di protocolli proxy non supportati come socks5h. Verificando le impostazioni del proxy, aggiornando Puppeteer all'ultima versione o incorporando plugin come puppeteer-extra-plugin-proxy, è possibile risolvere efficacemente questo problema. Inoltre, la scelta di un fornitore di proxy affidabile come OkeyProxy può garantire flussi di lavoro di automazione del browser fluidi e sicuri con Puppeteer.
L'adozione di questi suggerimenti per la risoluzione dei problemi consentirà agli utenti di Puppeteer di evitare gli errori legati al proxy e di raggiungere il successo nei loro progetti di automazione.