Usa el proxy que realmente resolvió la tarea

Por solvethree3 min de lectura

Cuando envíes proxyCandidates, usa solution.egressAttempts para encontrar el proxy que resolvió la tarea. Es un índice basado en uno de la lista original de candidatos. Usa ese proxy cuando envíes la solución al destino, no otro de la lista.

En esta página

Conserva la lista original de candidatos

Proporciona exactamente uno de estos campos: proxy o proxyCandidates. Una lista de candidatos admite como máximo doce URL de proxy HTTP o HTTPS distintas, sin ruta, consulta ni fragmento. Conserva la solicitud original y el orden de los candidatos hasta haber seleccionado el proxy que funcionó; ordenar o filtrar la lista después cambia el elemento al que apunta el índice.

Los candidatos permiten a solvethree probar vías de salida alternativas; no garantizan que un proxy o un destino funcione. Las tareas de sesión requieren un único proxy, no una lista de candidatos.

Valida el índice antes de seleccionar un proxy

Para reCAPTCHA, Kasada y TMPT, solution.egressAttempts identifica el candidato que funcionó. Acéptalo solo si es un entero entre 1 y la longitud del array original. Resta uno al usarlo como índice en un array de JavaScript o una lista de Python.

Resultado ilustrativo: una tarea lista devuelve egressAttempts igual a 2.
Resultado ilustrativo: una tarea lista devuelve egressAttempts igual a 2.
Posición originalCandidatoSeleccionado
1PROXY_ANo
2PROXY_BSí
3PROXY_CNo

Aquí, el que funcionó es el segundo proxy, PROXY_B, en la posición 1 del array. Si el índice falta, es fraccionario, es cero o queda fuera de la lista, detente. No lo sustituyas por el primer proxy ni deduzcas cuál funcionó a partir del orden de la lista.

Usa la función auxiliar del SDK y reutiliza el proxy seleccionado

Pasa la tarea original y el resultado listo a successfulProxy de JavaScript o a successful_proxy de Python. Los ejemplos llaman a solve para crear la tarea y consultar su estado hasta que esté lista o se lance un error; después, se detienen si la función auxiliar no devuelve un proxy.

Configura SOLVETHREE_API_KEY y las tres variables de entorno de proxy en tu servidor. Cada variable de proxy debe contener una URL de proxy válida y distinta. Sustituye el sitio y la acción del ejemplo por el destino y la acción previstos. Los ejemplos requieren Node.js 22+ o Python 3.10+.

Node.js · seleccionar el proxy ganador
import { Solvethree, successfulProxy } from '@solvethree/sdk';

const client = new Solvethree({ apiKey: process.env.SOLVETHREE_API_KEY });
const request = {
  site: 'accounts.example.com', action: 'login',
  proxyCandidates: [process.env.PROXY_A, process.env.PROXY_B, process.env.PROXY_C],
};
const result = await client.solve(request);
const proxy = successfulProxy(request, result);
if (!proxy) throw new Error('No valid winning proxy index; do not guess');
// For egressAttempts: 2, proxy is request.proxyCandidates[1].
// Submit result.solution through this proxy with its returned browser identity.

Conserva el proxy seleccionado junto con los valores devueltos de userAgent y secChUa y el destino previsto, y usa esa identidad para la solicitud al destino. El SDK selecciona el proxy; no configura tu navegador ni envía la solución por ti. Una solución lista no demuestra que el destino la haya aceptado.

Ejecuta tu primera tarea.

Empieza con $5 de crédito en tu espacio de trabajo.

Crear un espacio de trabajo
Usa el proxy que realmente resolvió la tarea · solvethree