Utiliser le proxy qui a réellement résolu la tâche

Par solvethree3 min de lecture

Lorsque vous envoyez proxyCandidates, utilisez solution.egressAttempts pour identifier le proxy ayant résolu la tâche. Il s’agit d’un indice commençant à un dans la liste initiale des candidats. Utilisez ce proxy lorsque vous soumettez la solution à la cible, et non un autre proxy de la liste.

Sur cette page

Conservez la liste initiale des candidats

Fournissez exactement l’un des deux champs suivants : proxy ou proxyCandidates. Une liste de candidats accepte au maximum douze URL de proxy HTTP ou HTTPS distinctes, sans chemin, paramètres de requête ni fragment. Conservez la requête initiale et l’ordre des candidats jusqu’à la sélection du proxy ayant réussi ; trier ou filtrer la liste après coup modifie l’élément désigné par l’indice.

Les candidats permettent à solvethree d’essayer d’autres points de sortie ; ils ne garantissent pas qu’un proxy ou une cible fonctionnera. Les tâches de session exigent un seul proxy, et non une liste de candidats.

Validez l’indice avant de sélectionner un proxy

Pour reCAPTCHA, Kasada et TMPT, solution.egressAttempts identifie le candidat ayant réussi. Acceptez-le uniquement s’il s’agit d’un entier compris entre 1 et la longueur du tableau initial. Soustrayez un pour accéder à un élément d’un tableau JavaScript ou d’une liste Python.

Exemple de résultat : une tâche prête renvoie egressAttempts égal à 2.
Exemple de résultat : une tâche prête renvoie egressAttempts égal à 2.
Position initialeCandidatSélectionné
1PROXY_ANon
2PROXY_BOui
3PROXY_CNon

Ici, le proxy ayant réussi est le deuxième, PROXY_B, à l’indice 1 du tableau. Si l’indice est absent, fractionnaire, nul ou hors des limites de la liste, arrêtez-vous. Ne le remplacez pas par le premier proxy et ne déduisez pas le proxy ayant réussi de l’ordre de la liste.

Utilisez la fonction utilitaire du SDK, puis réutilisez le proxy sélectionné

Transmettez la tâche initiale et le résultat prêt à successfulProxy en JavaScript ou à successful_proxy en Python. Les exemples appellent solve pour créer la tâche et interroger son état jusqu’à ce qu’elle soit prête ou qu’une erreur soit levée, puis s’arrêtent si la fonction utilitaire ne renvoie aucun proxy.

Définissez SOLVETHREE_API_KEY et les trois variables d’environnement de proxy sur votre serveur. Chaque variable de proxy doit contenir une URL de proxy valide et distincte. Remplacez le site et l’action de l’exemple par la cible et l’action prévues. Les exemples nécessitent Node.js 22+ ou Python 3.10+.

Node.js · sélectionner le proxy ayant réussi
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.

Conservez le proxy sélectionné avec les valeurs userAgent et secChUa renvoyées et la cible prévue, puis utilisez cette identité pour la requête à la cible. Le SDK sélectionne le proxy ; il ne configure pas votre navigateur et ne soumet pas la solution à votre place. Une solution prête ne prouve pas que la cible l’a acceptée.

Lancez votre première tâche.

Démarrez avec $5 de crédit dans votre espace de travail.

Créer un espace de travail
Utiliser le proxy qui a réellement résolu la tâche · solvethree