ガイド
タスク(トークン)
Cloudflare Challenge

Cloudflare: チャレンジの解決

ヒント

タスクはcreateTaskメソッドで作成し、 結果はgetTaskResultメソッドで取得します。

注意
  • プロキシは必須です。ローテーションプロキシではなく、静的プロキシまたはスティッキープロキシを使用してください。
  • カスタムuserAgentに対応しています。現在お使いのものと同じ値を保持してください。
  • ソリューションの取得に失敗した場合、IPがブロックされている可能性があります。プロキシを変更してみてください。
  • ターゲットウェブサイトへのリクエストにはTLSリクエストライブラリを使用する必要があります。

タスクタイプ type は以下の通りです

  • AntiCloudflareTask

タスクの作成

タスクはcreateTaskメソッドで作成します。

タスクオブジェクトの構造

プロパティ必須説明
typeString必須AntiCloudflareTask
websiteURLString必須ターゲットページのURL。
proxyString必須使用する静的プロキシまたはスティッキープロキシ。プロキシの使用方法について学ぶ
userAgentStringオプションターゲットウェブサイトへのリクエストに使用したuser-agent。ChromeのuserAgentのみがサポートされています。

リクエスト例

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://www.yourwebsite.com",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
    "proxy": "ip:port:user:pass"
  }
}

レスポンス例

{
  "errorId": 0,
  "status": "idle",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}
 

結果の取得

getTaskResultメソッドを使用して、認識結果を取得します

ウェブサイトとプロキシによっては、2秒から20秒の間に結果が得られます

リクエスト例

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}

レスポンス例

{
  "errorId": 0,
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca",
  "status": "ready",
  "errorCode": "",
  "errorDescription": "",
  "solution": {
    "cookies": {
        "cf_clearance": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc"
    },
    "token": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
  }
}

SDKリクエストの使用

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
solution = capsolver.solve({
  "type": "AntiCloudflareTask",
  "websiteURL": "https://www.yourwebsite.com",
  "proxy": "ip:port:user:pass"
})

サンプルコード

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # your api key of capsolver
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": "AntiCloudflareTask",
            "websiteURL": "https://www.yourwebsite.com",
            "proxy": "ip:port:user:pass"
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")
 
    while True:
        time.sleep(1)  # delay
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {})
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
token = capsolver()
print(token)