実際にタスクを解決したプロキシを使う

著者:solvethree読了時間:1分

proxyCandidatesを送信した場合は、solution.egressAttemptsを使ってタスクを解決したプロキシを特定してください。これは元の候補リストに対する1始まりのインデックスです。解決結果を対象サイトに送信するときは、リスト内の別のプロキシではなく、そのプロキシを使用してください。

このページの内容

元の候補リストを保持する

proxyまたはproxyCandidatesのどちらか一方だけを指定してください。候補リストには、パス、クエリ、フラグメントを含まない、互いに異なるHTTPまたはHTTPSプロキシURLを最大12個指定できます。成功したプロキシを選択するまで、元のリクエストと候補の順序を保持してください。後からリストを並べ替えたりフィルタリングしたりすると、インデックスが指す対象が変わります。

候補を指定すると、solvethreeは代替の送信経路を試せますが、プロキシや対象サイトが機能することは保証されません。セッションタスクには、候補リストではなく単一のproxyが必要です。

プロキシを選択する前にインデックスを検証する

reCAPTCHA、Kasada、TMPTでは、solution.egressAttemptsが成功した候補を示します。元の配列の長さを上限とする、1以上の整数である場合にのみ受け入れてください。JavaScriptの配列やPythonのリストのインデックスとして使う場合は、1を引いてください。

結果の例:準備完了のタスクが、egressAttemptsの値として2を返します。
結果の例:準備完了のタスクが、egressAttemptsの値として2を返します。
元の位置候補選択済み
1PROXY_Aいいえ
2PROXY_Bはい
3PROXY_Cいいえ

この場合、成功したのは2番目のプロキシPROXY_Bで、配列のオフセットは1です。インデックスが存在しない、小数である、ゼロである、またはリストの範囲外である場合は、処理を停止してください。最初のプロキシで代用したり、リストの順序から成功したプロキシを推測したりしないでください。

SDKヘルパーを使い、選択したプロキシを再利用する

元のタスクと準備完了の結果を、JavaScriptのsuccessfulProxyまたはPythonのsuccessful_proxyに渡してください。サンプルではsolveを呼び出してタスクを作成し、準備完了になるかエラーが発生するまでポーリングした後、ヘルパーがプロキシを返さなければ処理を停止します。

サーバー上でSOLVETHREE_API_KEYと3つのプロキシ環境変数を設定してください。各プロキシ変数には、互いに異なる有効なプロキシURLを指定する必要があります。サンプルのサイトとアクションを、意図した対象とアクションに置き換えてください。サンプルの実行にはNode.js 22+またはPython 3.10+が必要です。

Node.js · 成功したプロキシを選択
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.

選択したプロキシを、返されたuserAgent、secChUa、意図した対象とともに保持し、その識別情報を対象へのリクエストに使用してください。SDKはプロキシを選択しますが、ブラウザーの設定や解決結果の送信は行いません。解決結果が準備完了であることは、対象サイトがそれを受け入れた証拠ではありません。

最初のタスクを実行しましょう。

$5のワークスペースクレジットで始められます。

ワークスペースを作成
実際にタスクを解決したプロキシを使う · solvethree