CAPSOLVER
ブログ
RoxyBrowserでCAPTCHAを解く方法(CapSolver統合)

RoxyBrowserでCAPTCHAを解決する方法(CapSolverの統合)

Logo of CapSolver

Sora Fujimoto

AI Solutions Architect

04-Feb-2026

RoxyBrowserはAPI呼び出しを通じてブラウザ機能を提供し、Selenium、Puppeteer、Playwrightなどの自動化フレームワークと統合できます。そのAPIは、実際のブラウザプロファイルをプログラムで開き、自動化ツールを接続できるように設計されています。APIには、エンドポイントごとに1分間に100回の呼び出しというドキュメント化されたレートリミットがあります。
ソース: https://faq.roxybrowser.org/en/guide/10-API

CapSolverは、ページにキャプチャトークンを挿入できるキャプチャトークンを返す「作成およびポーリング」APIフローを提供しています。CapSolverは以下のキャプチャタイプをサポートしています:

  • reCAPTCHA v2: タスクタイプ ReCaptchaV2TaskProxyLess、返却値 gRecaptchaResponse
  • reCAPTCHA v3: タスクタイプ ReCaptchaV3TaskProxyLess、スコア付きの gRecaptchaResponse
  • Cloudflare Turnstile: タスクタイプ AntiTurnstileTaskProxyLess、返却値 token ドキュメントを確認

このガイドでは、フレームワークに依存しない実践的なフローを示します。API経由でRoxyプロファイルを開き、自動化フレームワークを接続し、CapSolverでキャプチャを解決し、トークンを挿入して処理を継続します。


RoxyBrowserとは?

RoxyBrowserは、マルチアカウント用のアンチデテクトブラウザで、API自動化やマルチウィンドウ同期機能を備えています。

自動化において、APIが最も関連性のある要素です:

  • Selenium、Puppeteer、Playwrightの統合をサポートしています。

  • リクエストには token ヘッダーを含める必要があります。

  • デフォルトのAPIホストは http://127.0.0.1:50000 です(ポート変更には再起動が必要です)。


CapSolverとは?

CapSolverは2つのAPI呼び出しを通じてキャプチャを解決します:

  1. createTask でキャプチャパラメータを送信
  2. getTaskResult でトークンが準備できるまでポーリング

reCAPTCHA v2の場合、CapSolverは gRecaptchaResponse を返します。

getTaskResult は1つのタスクに対して120回のクエリに制限されており、タスク作成から5分以内に呼び出さなければなりません。

RoxyBrowser API設定

1) APIを有効化し、トークンを取得

  1. RoxyBrowserを開き、APIを選択します。
  2. APIスイッチを有効に設定します。
  3. APIキー(トークン)をコピーし、ホスト/ポートを確認します。

デフォルトではホストは http://127.0.0.1:50000 です。ポートを変更した場合、RoxyBrowserを再起動する必要があります。

2) ワークスペースとプロファイルIDを取得

/browser/workspace を使用してワークスペースを取得し、/browser/list_v3 でプロファイルを一覧表示します。

python Copy
import requests

BASE = "http://127.0.0.1:50000"
HEADERS = {"token": "YOUR_ROXY_API_KEY"}

workspaces = requests.get(f"{BASE}/browser/workspace", headers=HEADERS).json()
workspace_id = workspaces["data"]["rows"][0]["id"]

profiles = requests.get(
    f"{BASE}/browser/list_v3",
    params={"workspaceId": workspace_id},
    headers=HEADERS
).json()
dir_id = profiles["data"]["rows"][0]["dirId"]

3) プロファイルを開き、自動化エンドポイントを取得

/browser/open を呼び出します。応答には以下が含まれます:

  • ws: 自動化ツール用のWebSocketインターフェース
  • http: 自動化ツール用のHTTPインターフェース
  • driver: Selenium統合用のWebDriverパス

ヘッドレスモードはサポートされていません。

python Copy
open_resp = requests.post(
    f"{BASE}/browser/open",
    json={"workspaceId": workspace_id, "dirId": dir_id, "args": []},
    headers=HEADERS
).json()

ws_endpoint = open_resp["data"]["ws"]
http_endpoint = open_resp["data"]["http"]
driver_path = open_resp["data"]["driver"]

4) 自動化フレームワークを接続

返されたエンドポイントを使用してフレームワークを接続します:

  • Puppeteer/PlaywrightはDevTools WebSocketまたはHTTPエンドポイントに接続できます。
  • Seleniumはデバッガー接続でdriverパスを使用できます。

正確な接続手順はフレームワークに依存しますが、wshttpdriverの値は自動化ツールに明示的に提供されます。


CapSolverヘルパー(Python)

python Copy
import time
import requests

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
CAPSOLVER_BASE = "https://api.capsolver.com"

def create_task(task):
    payload = {"clientKey": CAPSOLVER_API_KEY, "task": task}
    r = requests.post(f"{CAPSOLVER_BASE}/createTask", json=payload)
    data = r.json()
    if data.get("errorId", 0) != 0:
        raise RuntimeError(data.get("errorDescription", "CapSolver error"))
    return data["taskId"]

def get_task_result(task_id, delay=2):
    while True:
        time.sleep(delay)
        r = requests.post(
            f"{CAPSOLVER_BASE}/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        )
        data = r.json()
        if data.get("status") == "ready":
            return data["solution"]
        if data.get("status") == "failed":
            raise RuntimeError(data.get("errorDescription", "Task failed"))

def solve_recaptcha_v2(website_url, website_key):
    task = {
        "type": "ReCaptchaV2TaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key
    }
    task_id = create_task(task)
    solution = get_task_result(task_id)
    return solution.get("gRecaptchaResponse", "")

def solve_recaptcha_v3(website_url, website_key, page_action="verify"):
    task = {
        "type": "ReCaptchaV3TaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key,
        "pageAction": page_action
    }
    task_id = create_task(task)
    solution = get_task_result(task_id)
    return solution.get("gRecaptchaResponse", "")

def solve_turnstile(website_url, website_key, action=None, cdata=None):
    task = {
        "type": "AntiTurnstileTaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key
    }
    # 提供された場合、オプショナルなメタデータを追加
    if action or cdata:
        task["metadata"] = {}
        if action:
            task["metadata"]["action"] = action
        if cdata:
            task["metadata"]["cdata"] = cdata

    task_id = create_task(task)
    solution = get_task_result(task_id)
    return solution.get("token", "")

参考資料:

エンドツーエンドフロー: reCAPTCHA v2

  1. API経由でRoxyプロファイルを開き、自動化フレームワークを接続します。

  2. ターゲットページに移動し、サイトキーを抽出します。
    例:

    javascript Copy
    const siteKey = document.querySelector(".g-recaptcha")?.getAttribute("data-sitekey");
  3. CapSolverで解決します。

  4. トークンを挿入し、フォームを送信します:

    javascript Copy
    const token = "CAPSOLVER_TOKEN";
    const el = document.getElementById("g-recaptcha-response");
    el.style.display = "block";
    el.value = token;
    el.dispatchEvent(new Event("input", { bubbles: true }));
    el.dispatchEvent(new Event("change", { bubbles: true }));

エンドツーエンドフロー: reCAPTCHA v3

reCAPTCHA v3は背景で動作し、ユーザーの操作を必要とせずスコア(0.0〜1.0)を返します。

  1. サイトキーとアクションをページから抽出します:

    javascript Copy
    // サイトキーは通常スクリプトまたはメタタグに含まれます
    const siteKey = document.querySelector('[data-sitekey]')?.getAttribute('data-sitekey');
    
    // アクションはgrecaptcha.execute呼び出しで見つかります
    // ページソースで: grecaptcha.execute('KEY', {action: 'ACTION'}) を検索
    const pageAction = "submit"; // または "login", "register"など
  2. CapSolverで解決:

    python Copy
    token = solve_recaptcha_v3(
        website_url="https://example.com/login",
        website_key="6LcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAA",
        page_action="login"
    )
  3. トークンを挿入(v2と同じ方法):

    javascript Copy
    const token = "CAPSOLVER_TOKEN";
    document.getElementById("g-recaptcha-response").value = token;
    
    // コールバックがある場合、それをトリガー
    if (typeof ___grecaptcha_cfg !== 'undefined') {
        const clients = ___grecaptcha_cfg.clients;
        Object.keys(clients).forEach(key => {
            if (clients[key].callback) {
                clients[key].callback(token);
            }
        });
    }

エンドツーエンドフロー: Cloudflare Turnstile

Cloudflare Turnstileは、解決が速く(1〜20秒)の現代的なキャプチャ代替手段です。

  1. Turnstileサイトキーを抽出:

    javascript Copy
    const siteKey = document.querySelector('.cf-turnstile')?.getAttribute('data-sitekey');
    // オプション: ある場合、actionとcdataを抽出
    const action = document.querySelector('.cf-turnstile')?.getAttribute('data-action');
    const cdata = document.querySelector('.cf-turnstile')?.getAttribute('data-cdata');
  2. CapSolverで解決:

    python Copy
    token = solve_turnstile(
        website_url="https://example.com",
        website_key="0x4AAAAAAAxxxxxxxxxxxxxxx",
        action=action,  // オプション
        cdata=cdata     // オプション
    )
  3. Turnstileトークンを挿入:

    javascript Copy
    const token = "CAPSOLVER_TURNSTILE_TOKEN";
    
    // Turnstile応答入力を検索
    const input = document.querySelector('input[name="cf-turnstile-response"]');
    if (input) {
        input.value = token;
        input.dispatchEvent(new Event('input', { bubbles: true }));
        input.dispatchEvent(new Event('change', { bubbles: true }));
    }
    
    // 代替: 一部のサイトでは別の入力名を使用
    const altInput = document.querySelector('input[name="turnstile-response"]');
    if (altInput) {
        altInput.value = token;
    }

最適な実践方法

  • RoxyBrowserのAPIレートリミットを尊重してください: エンドポイントごとに1分間に100回の呼び出し。
  • CapSolverのgetTaskResultは5分以内に120回のポーリングに制限されています。
  • トークンが拒否された場合、リトライロジックとバックオフを使用してください。
  • ターゲットサイトがトークンのオリジンを検証する場合、ソルバーのIPとブラウジングのIPを一貫させてください。

始める準備はできましたか? CapSolverに登録し、初回チャージで6%のボーナスを追加するためのボーナスコード ROXYBROWSER を使用してください!

FAQ

  • RoxyBrowserはSelenium、Puppeteer、Playwrightをサポートしていますか?
    はい。APIはこれらのフレームワークとの統合を目的として設計されています。

  • APIトークンとホストはどこで取得できますか?
    RoxyBrowserのAPI -> API設定から取得できます。デフォルトホストは http://127.0.0.1:50000 です。

  • /browser/openはどのような値を返しますか?
    自動化ツールで使用されるwshttpdriverフィールドを返します。

  • ヘッドレスモードはサポートされていますか?
    いいえ、ヘッドレスモードはサポートされていません。

  • CapSolverはどのキャプチャタイプをサポートしていますか?

  • CapSolverはreCAPTCHA v2トークンをどのように返しますか?
    ReCaptchaV2TaskProxyLessでタスクを作成し、getTaskResultをポーリングしてgRecaptchaResponseを取得します。

  • reCAPTCHA v3はv2とどのように異なりますか?](https://www.capsolver.com/blog/reCAPTCHA/extra-parameters-recaptcha)
    reCAPTCHA v3はユーザーの操作なしで背景で動作し、スコア(0.0-1.0)を返します。pageActionパラメータが必要で、これはページソース内のgrecaptcha.executeを検索することで見つかります。

  • Cloudflare Turnstileをどのように解決しますか?](https://www.capsolver.com/blog/Cloudflare/solver-cloudflare-challenge-turnstile-2024)
    websiteURLwebsiteKeyAntiTurnstileTaskProxyLessタスクを使用します。ウィジェットにmetadata.actionmetadata.cdataが存在する場合、オプションで追加してください。Turnstileは1〜20秒で解決します。
    追加資料:

  • Turnstileサイトキーをどのように見つけることができますか?
    .cf-turnstile要素のdata-sitekey属性を検索してください。Turnstileサイトキーは0x4で始まります。

  • CapSolverにプロキシが必要ですか?
    いいえ、*ProxyLessタスクタイプはCapSolverの内部プロキシインフラストラクチャを使用します。独自のプロキシを使用する場合は、非ProxyLessバージョンを使用してください。

結論

RoxyBrowserは自動化エンドポイントを備えたプロファイルベースのブラウザ環境を提供し、CapSolverはプログラムでキャプチャトークンを提供します。Roxyプロファイルを開き、フレームワークを接続し、CapSolverトークンを挿入することで、信頼性の高いキャプチャ対応の自動化フローを構築できます。

コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。

もっと見る

ロキシー・ブラウザとキャップソルバーの統合
RoxyBrowserでCAPTCHAを解決する方法(CapSolverの統合)

CapSolverをRoxyBrowserと統合して、ブラウザのタスクを自動化し、reCAPTCHA、Turnstile、その他のCAPTCHAを回避します。

web scraping
Logo of CapSolver

Sora Fujimoto

04-Feb-2026

イージースパイダー キャプソルバー CAPTCHA インテグレーション
EasySpiderでCapSolverインテグレーションを使用してCaptchaを解く方法

EasySpiderはビジュアルでノーコードのウェブスクリーピングおよびブラウザ自動化ツールであり、CapSolverと組み合わせることで、reCAPTCHA v2やCloudflare TurnstileなどのCAPTCHAを信頼性高く解決できるため、ウェブサイト間でのシームレスな自動データ抽出を可能にします。

web scraping
Logo of CapSolver

Sora Fujimoto

04-Feb-2026

リレヴァンス AI と キャップソルバー
Relevance AIにおけるreCAPTCHA v2のカプソルバー統合による解決方法

Relevance AIツールを構築し、リカプチャv2を解決するためCapSolverを使用します。APIを介してブラウザの自動化なしでフォームの送信を自動化します。

web scraping
Logo of CapSolver

Sora Fujimoto

03-Feb-2026

即時データスキャパーのツール:コードなしでウェブデータを素早く抽出する方法
即時データスカッパーのツール:コードなしでウェブデータを高速に抽出する方法

2026年用の最高のインスタントデータスラッパーのツールを発見してください。コードなしでウェブデータを迅速に抽出する方法を学びましょう。自動抽出用の最高の拡張機能とAPIを使用して。

web scraping
Logo of CapSolver

Nikolai Smirnov

28-Jan-2026

2026年のIPブロック:その仕組みと実用的な回避方法
2026年のIPブロック:仕組みと実用的な回避方法

2026年においてIPブロックを回避する方法を、当社の包括的なガイドを通じて学びましょう。現代のIPブロック技術や住宅プロキシーやCAPTCHAソルバーなどの実用的な解決策を発見してください。

web scraping
Logo of CapSolver

Sora Fujimoto

26-Jan-2026

ウェブスクレイピング in Node.js: Node Unblocker と CapSolver を使用して
ウェブスクレイピング in Node.js: ノードアンブロッカーとキャップソルバーを使用して

Node.jsでウェブスクレイピングをマスターし、Node Unblockerで制限を回避し、CapSolverでCAPTCHAを解決する。このガイドは、効率的で信頼性のあるデータ抽出のための高度な戦略を提供します。

web scraping
Logo of CapSolver

Ethan Collins

26-Jan-2026