CAPTCHA解決用のプロキシを選んで設定する

著者:solvethree読了時間:1分

解決結果を送信するときに同じ出口を再利用できるプロキシを選んでください。ソルバーと最終リクエストでは、同じ出口と、解決結果とともに返されるブラウザー識別情報を使用してください。接続のたびに異なる出口が割り当てられる場合、ローテーション型プロバイダーの URL を再利用するだけでは不十分です。

このページの内容

維持できる出口を選ぶ

お客様が用意した HTTP または HTTPS プロキシを使用してください。プロバイダーが出口をローテーションする場合は、タスクを作成する前にセッション機能または固定機能を設定し、最終送信までそのセッションを維持してください。

住宅用、モバイル、データセンターといった分類だけで選ばないでください。これらの分類は、送信先がリクエストを受け入れることの証明にはなりません。実際の解決から送信までのワークフローでプロキシを比較してください。接続に成功しただけでは、CAPTCHA スコアはわかりません。

URL の書式を整え、認証情報をエンコードする

HTTP(S)プロキシURLの例
http://USERNAME:[email protected]:8080
https://USERNAME:[email protected]:8443

Password p@ss:word becomes p%40ss%3Aword in the password component:
http://USERNAME:p%40ss%[email protected]:8080

ユーザー名とパスワードそれぞれの構成要素内にある予約文字を、個別にパーセントエンコードしてください。URL 全体をエンコードしないでください。スキームと区切り文字はそのまま残す必要があります。この例では、アットマークとコロンを含むパスワードを URL にどのように記述するかを示しています。

proxyCandidates の各 URL には、パス、クエリ、フラグメントを含めないでください。タスクリクエスト全体を出力するログも含め、プロキシのパスワードをログに記録しないでください。

リクエスト全体を通してプロキシを使用する

  1. 1.

    プロキシフィールドは必ず 1 つだけ設定する

    タスク作成リクエストには、proxy または proxyCandidates のどちらか一方を指定し、両方は指定しないでください。既知の出口を 1 つ使用する場合は proxy を使用します。候補リストには異なる URL を最大 12 個指定でき、solvethree が別の出口を試せますが、いずれかの候補が機能することを保証するものではありません。セッションタスクには単一のプロキシが必要です。

  2. 2.

    使用可能な解決結果を待つ

    タスクが pending または solving の間はポーリングしてください。使用可能な解決結果が含まれるのは ready の場合だけです。タスクの作成や HTTP の成功レスポンスは、解決の完了を意味しません。

  3. 3.

    成功した出口経由で送信する

    解決結果を意図した送信先に送信する際は、成功したプロキシと、返された userAgent および secChUa を使用してください。候補を使用した場合、最初の URL が成功したと決めつけないでください。無関係なユーザーエージェント、クライアントヒント、対象 URL に置き換えないでください。

フォールバック用の出口が必要な場合は、プロキシ候補の選択を参照してください。アプリケーションで使用する出口がすでにわかっている場合は、固定した単一のプロキシを使うほうがシンプルです。

認証と到達性の問題を修正する

成功時のペイロードを読み取る前に、成功以外の HTTP レスポンスに対処してください。タスクの最終的な失敗は別の層の問題です。ステータスが failed の場合は、ポーリングを停止して errorCode と error を確認してください。

HTTP 407

プロキシで認証が必要です。これはソルバーAPIの認証や、対象サイトへのログインの失敗ではありません。

試してみましょう: パスワードをログに記録せずに、選択したプロキシの認証情報、認証情報のエンコード、プロバイダーのルーティングを確認してください。solvethreeのAPIキーを変更しても、プロキシ認証の問題は解決しません。

アプリケーションがプロキシ経由で接続できない

URLのスキーム、ホスト名、ポートを確認し、アプリケーションの実行環境からそのプロキシ経由で接続をテストしてください。

試してみましょう: 別のタスクを作成する前に、エンドポイントまたはプロバイダーのルーティングを修正してください。接続の失敗と、対象サイトから返されたレスポンスは区別してください。

タスクがsite-unreachableで失敗する

付随するエラーを読み、選択したプロキシから意図した対象に到達できるか確認してください。

試してみましょう: 再試行する前に、エラーが示す対象またはプロキシの設定を修正してください。無効な入力を変更せずに繰り返し送信したり、クレジット不足が原因だと決めつけたりしないでください。

タスクは準備完了だが、対象サイトがリクエストを拒否する

送信リクエストに、正しい解決結果、処理に成功したプロキシ、返されたブラウザー識別情報、意図した対象URLが使われているか確認してください。

試してみましょう: 別の解決処理に料金を支払う前に、不一致を修正してください。解決結果が準備完了でも、対象サイトでの受け入れは保証されません。reCAPTCHAについては、拒否されたトークンの診断に進んでください。

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

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

ワークスペースを作成
CAPTCHA解決用のプロキシを選んで設定する · solvethree