Use o proxy que realmente resolveu a tarefa
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.
| Posição original | Candidato | Selecionado |
|---|---|---|
| 1 | PROXY_A | Não |
| 2 | PROXY_B | Sim |
| 3 | PROXY_C | Nã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+.
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.import os
from solvethree import Solvethree, successful_proxy
client = Solvethree(os.environ["SOLVETHREE_API_KEY"])
request = {
"site": "accounts.example.com", "action": "login",
"proxyCandidates": [os.environ["PROXY_A"], os.environ["PROXY_B"], os.environ["PROXY_C"]],
}
result = client.solve(request)
proxy = successful_proxy(request, result)
if proxy is None:
raise RuntimeError("No valid winning proxy index; do not guess")
# With egressAttempts == 2, proxy is request["proxyCandidates"][1].
# Use this proxy and the returned identity for the target request.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.
Fontes e referência da API
Execute sua primeira tarefa.
Comece com $5 em créditos no espaço de trabalho.