Use o proxy que realmente resolveu a tarefa

Por solvethree3 min de leitura

Ao enviar proxyCandidates, use solution.egressAttempts para encontrar o proxy que resolveu a tarefa. Ele é um índice baseado em um na lista original de candidatos. Use esse proxy ao enviar a solução ao destino — não outro proxy da lista.

Nesta página

Mantenha a lista original de candidatos

Forneça exatamente um dos campos: proxy ou proxyCandidates. Uma lista de candidatos aceita no máximo doze URLs distintas de proxies HTTP ou HTTPS, sem caminho, query ou fragmento. Mantenha a requisição original e a ordem dos candidatos até selecionar o proxy bem-sucedido; ordenar ou filtrar a lista depois altera o elemento para o qual o índice aponta.

Os candidatos permitem que o solvethree tente alternativas de saída; eles não garantem que um proxy ou destino funcione. Tarefas de sessão exigem um único proxy, não uma lista de candidatos.

Valide o índice antes de selecionar um proxy

Para reCAPTCHA, Kasada e TMPT, solution.egressAttempts identifica o candidato bem-sucedido. Aceite-o somente se for um número inteiro de 1 até o tamanho do array original. Subtraia um ao acessar um array JavaScript ou uma lista Python pelo índice.

Resultado ilustrativo: uma tarefa pronta retorna egressAttempts igual a 2.
Resultado ilustrativo: uma tarefa pronta retorna egressAttempts igual a 2.
Posição originalCandidatoSelecionado
1PROXY_ANão
2PROXY_BSim
3PROXY_CNão

Aqui, o proxy bem-sucedido é o segundo, PROXY_B, no índice 1 do array. Se o índice estiver ausente, for fracionário, zero ou estiver fora dos limites da lista, pare. Não use o primeiro proxy como substituto nem deduza o proxy bem-sucedido pela ordem da lista.

Use a função auxiliar do SDK e reutilize o proxy selecionado

Passe a tarefa original e o resultado pronto para successfulProxy em JavaScript ou successful_proxy em Python. Os exemplos chamam solve para criar a tarefa e consultar seu estado até que esteja pronta ou um erro seja lançado, e então param se a função auxiliar não retornar um proxy.

Defina SOLVETHREE_API_KEY e as três variáveis de ambiente de proxy no seu servidor. Cada variável de proxy deve conter uma URL de proxy válida e distinta. Substitua o site e a ação de exemplo pelo destino e pela ação pretendidos. Os exemplos exigem Node.js 22+ ou Python 3.10+.

Node.js · selecionar o proxy vencedor
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.

Mantenha o proxy selecionado junto com os valores retornados de userAgent e secChUa e com o destino pretendido, e use essa identidade na requisição ao destino. O SDK seleciona o proxy; ele não configura seu navegador nem envia a solução por você. Uma solução pronta não comprova que o destino a aceitou.

Execute sua primeira tarefa.

Comece com $5 em créditos no espaço de trabalho.

Criar um espaço de trabalho
Use o proxy que realmente resolveu a tarefa · solvethree