Scarnox · Blog

Proxy o proxyless per il captcha: quale tipo di attività ti serve?

Scarnox offre PopularCaptcha in due varianti: proxyless, dove Scarnox risolve il captcha sulla propria rete, e una variante con proxy, dove invii il proxy che usa il tuo bot. Entrambe restituiscono un token nello stesso formato di risposta, ed entrambe sono gratuite quando un solve fallisce. L'unica differenza nella richiesta è il proxy.

Proxyless è il punto di partenza giusto per la maggior parte dei siti. Invia un tuo proxy solo quando il sito lega il token a un indirizzo IP.

I due tipi di attività

Tipo di attivitàCosa invii
PopularCaptchaTaskProxylesssitekey e URL della pagina
PopularCaptchaTask (variante con proxy)sitekey, URL della pagina e il tuo proxy

Entrambe sono attività PopularCaptcha. Il resto della richiesta, la risposta e la gestione del token sono gli stessi.

Inizia con proxyless

I solve proxyless girano sulla rete di Scarnox. L'integrazione è la più semplice che tu possa scrivere, e per la maggior parte dei siti il token funziona indipendentemente dall'IP che lo invia successivamente. Se non sei sicuro di quale ti serva, parti da qui:

{
  "captcha_type": "PopularCaptchaTaskProxyless",
  "site_key": "10000000-ffff-ffff-ffff-000000000001",
  "site_url": "https://example.com/signup"
}

Invia un proxy quando il token è legato all'IP

Alcuni siti verificano che l'IP che ha risolto il captcha sia lo stesso IP che invia il modulo. Il sintomo è chiaro: i token arrivano senza errori, ma il sito li rifiuta ogni volta. La soluzione è risolvere passando dallo stesso proxy che il tuo bot usa per il resto della sessione:

{
  "captcha_type": "PopularCaptchaTask",
  "site_key": "10000000-ffff-ffff-ffff-000000000001",
  "site_url": "https://example.com/signup",
  "proxy": "http://user:pass@203.0.113.10:8080"
}

Il formato del proxy è http://user:pass@host:port. Usa lo stesso proxy per la risoluzione e per l'invio, e mantienilo fisso per tutta la sessione. Cambiare proxy tra la risoluzione e l'invio ripropone il problema della mancata corrispondenza dell'IP.

Come decidere

Rispondi a queste domande in ordine:

  1. Il token funziona quando lo invii da un'altra macchina? Se sì, usa proxyless.
  2. Il sito rifiuta i token solo quando l'IP di invio è diverso dall'IP di risoluzione? Se sì, invia il proxy.
  3. Il sito usa un cookie di sessione o un controllo del dispositivo legato a un solo IP? Se sì, invia il proxy e mantieni lo stesso IP per tutta la sessione.

Prova entrambe sulla prova gratuita prima di scegliere. Crea un account e inizia con il credito di prova gratuito, senza carta, poi esegui lo stesso flusso una volta per tipo.

Se il tuo proxy non funziona

Un solve fallito è gratuito. Se il proxy non funziona o è bloccato dal bersaglio, il solve fallisce e non ti viene addebitato. Testa tu stesso il proxy prima dell'esecuzione, controlla il suo formato e assicurati che il bersaglio non blocchi il suo intervallo di indirizzi. Un proxy che funziona per un browser ma fa fallire il solve di solito ha un problema di formato.

Tieni le credenziali del proxy fuori dai log

Un indirizzo proxy con password è un segreto. Conservalo in una variabile d'ambiente o in un gestore di segreti. Non stamparlo nei log, non committarlo e non incollarlo nelle segnalazioni di bug. Se registri la richiesta di risoluzione per il debug, rimuovi prima il campo proxy.

Scegliere un proxy per la variante

Il solve funziona con qualunque proxy tu invii, ma il token è utile solo se lo stesso IP invia il modulo. Usa un indirizzo residenziale o statico che controlli per tutta la sessione, non un pool che ruota a ogni richiesta. I siti che legano i token agli IP di solito legano anche la sessione, quindi un pool rotante rompe il flusso in due modi.

E la velocità?

Entrambe le varianti restituiscono un token da una singola richiesta bloccante, senza ciclo di polling. Il timeout è lo stesso: circa 185 secondi. Scegli la variante in base alla questione dell'IP, non in base alla velocità.

Sessioni e proxy nella pratica

Usa lo stesso proxy dalla prima richiesta di una sessione all'ultima. Un flusso tipico carica la pagina di registrazione, risolve il captcha e invia il modulo. Se il caricamento della pagina passa da un indirizzo e la risoluzione da un altro, un sito che controlla l'IP può rifiutare il token anche se tutto il resto sembra corretto.

Mantieni un'unica impostazione del proxy nel codice e passala a ogni passaggio che tocca il sito. Se altre parti del lavoro ruotano i proxy per lo scraping, dai al flusso captcha un proxy fisso dedicato. Mescolare i due è uno dei motivi più comuni per cui un token che funzionava nei test fallisce in produzione.

Imposta il campo proxy solo sulla variante che usa un proxy. Inviare un proxy con il tipo di attività proxyless non migliora il solve, e rende più difficile capire quale modalità ha usato un'esecuzione quando leggi i log.

Leggere i log per la risposta giusta

Se non sei sicuro di quale modalità serva a un sito, esegui entrambe sulla stessa pagina e confronta. Registra se ogni token è stato accettato, insieme al tipo di attività e al fatto che sia stato inviato un proxy. Un sito che accetta i token proxyless in modo costante non ha bisogno della variante con proxy. Un sito che rifiuta i token solo da alcune esecuzioni indica un controllo sull'IP. Lascia che siano i log a decidere, non una supposizione.

Passi successivi

Inizia con il credito di prova gratuito, senza carta: crea un account e prova entrambi i tipi di attività su una stessa pagina.