captcha解決の無料トライアル:お金を払う前に試す
はい、captcha解決を無料で試せます。アカウントを作成すると、無料のトライアルクレジットで始められます。カード登録は不要です。トライアルは、お金を使う前に、自分の対象でトークンが動くかを確認するためのものです。このガイドでは、トライアルで何ができるか、最初に何を試すべきか、今どの種類のcaptchaを解決できるかを説明します。
Scarnoxは現在、PopularCaptchaをプロキシなしと、自分のプロキシを使う場合で解決します。reCAPTCHA、Cloudflare Turnstile、AWS WAF、GeeTest、Arkoseなどの他の種類は近日対応予定です。トライアルではライブの種類を扱うので、テストにはPopularCaptchaを使ってください。
トライアルで試せること
- PopularCaptcha(プロキシなし)。 標準のタスクの種類です。Scarnox自身のネットワークで動き、フローを確認する最も速い方法です。
- 自分のプロキシを使うPopularCaptcha。 サイトがトークンをIPアドレスに紐づけているかを確認するのに使えます。
- インビジブルのPopularCaptcha。 チェックボックスのないウィジェット向けに、リクエストで
is_invisibleをtrueに設定します。 - 失敗した解決は無料。 課金されるのは成功した解決だけなので、失敗したテストの実行で何かを失うことはありません。
まず試すこと
何か大きなものを作る前に、トライアルで次の4つの問いに答えてください。
- サイトキーは正しいか。 ページから読み取り、一度解決して、エラーなしでトークンが返ることを確認します。
- サイトはトークンを受け付けるか。 トークンをフォームのフィールドに入れて送信します。次のページが読み込まれるはずです。
- タイミングは機能するか。 呼び出しはトークンの準備ができるまでブロックするので、ポーリングのループはありません。タイムアウトを約185秒に設定し、その時間内に解決が終わるか確認してください。
- エラー処理は機能するか。 わざと誤ったサイトキーを与えて、コードが失敗をログに残し、リトライを止めることを確認してください。
今すぐ実行できるスモークテスト
このスクリプトは1回だけ解決し、トークンの最初の数文字を表示します。先に環境変数にキーを設定してください。
export SCARNOX_KEY="scarnox_YOURAPIKEY"
import os
import requests
API_URL = "https://api.scarnox.com/api/tasks/create"
def smoke_test(sitekey: str, page_url: str) -> None:
r = requests.post(
API_URL,
headers={"Authorization": f"Bearer {os.environ['SCARNOX_KEY']}"},
json={
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": sitekey,
"site_url": page_url,
},
timeout=185, # 解決呼び出しはトークンの準備ができるまでブロックされる
)
data = r.json()
if data.get("errorId") != 0:
print("failed:", data.get("errorCode"), data.get("errorDescription"))
return
print("token ok:", data["solution"]["token"][:40], "...")
if __name__ == "__main__":
smoke_test("10000000-ffff-ffff-ffff-000000000001", "https://example.com/signup")
サイトキーとURLは、自分が管理しているか、テストが許可されているページに置き換えてください。トークンが表示されれば、フローは機能しています。失敗した場合は、エラーの文言に修正すべき内容が書かれています。
トークンについて知っておくこと
トークンは約2分で期限切れになるので、すぐに使ってください。解決のレスポンスは、成功時にerrorIdが0で、トークンはsolution.tokenにあります。errorIdが0以外の場合は、errorCodeとerrorDescriptionが含まれます。失敗した解決は課金されないので、テスト中にサイトキーやURLを変えて試しても、失うのは時間だけです。
よくある質問
カードは必要ですか。 いいえ。無料のトライアルクレジットで始められ、カードは不要です。
他のcaptchaの種類もテストできますか。 まだできません。reCAPTCHA、Cloudflare Turnstile、AWS WAF、GeeTest、Arkoseのサポートは近日対応予定です。それぞれの種類の仕組みと想定される挙動は、各ガイドで説明しています。たとえばCloudflare TurnstileのガイドやreCAPTCHA v2のガイドを参照してください。
トライアルの後はどうなりますか。 同じキーと同じリクエストの形式を使い続けてください。大量に使う場合の費用は、常に最新の料金ページで確認できます。
プロキシのオプションはありますか。 PopularCaptchaについてはあります。サイトがトークンをIPに紐づけている場合は、自分のプロキシを送ってください。プロキシありとプロキシなしの比較で、いつ使うべきかを説明しています。
トライアルから本番へ
スモークテストが機能したら、キーをシークレットストアに移し、残りのフローを組んでください。
- サイトキーは、ハードコードせず、実行のたびにページから読み取る。
- 解決のリクエストごとに、約185秒のタイムアウトを設定する。
- エラー処理とバックオフのリトライのポリシーを追加する。
- キーをログやソース管理に含めない。
本番に移る前のチェックリスト
本番に移る前に、各項目を一度確認してください。
- 自分が管理しているページに対する本物の解決で、トークンが返ってきた。
- フォームがトークンを受け付け、次のページが読み込まれた。
- 失敗した解決が、コードがログに残せる明確なエラーを返した。
- 解決のリクエストのタイムアウトが、少なくとも185秒ある。
- キーはコードではなく、シークレットマネージャーに保存されている。
- リトライのポリシーは、修正が必要な失敗では停止する。
本番のターゲットで実行する前に、すべての項目にチェックを入れてください。項目が失敗したら、テストの間に修正してください。壊れた版を本番のターゲットが見ることがないようにするためです。
トライアルが示さないこと
トライアルが示すのは、テストしたサイトでフローが機能することだけです。すべてのサイトが同じように振る舞うことを証明するものではありません。captchaプロバイダーはウィジェットを変えますし、サイトごとにトークンの扱いも違います。新しい対象に頼る前にそれぞれテストし、対象ごとにスモークテストを1つ保っておけば、変化をすぐに検出できます。
次のステップ
- PythonでPopularCaptchaを解く方法
- PlaywrightとPuppeteerでのPopularCaptchaの解決
- 任意のページでcaptchaのサイトキーを見つける方法
- CIを緑に保つ:captchaがあるアプリのテスト
アカウントを作成して、無料のトライアルクレジットで始めてください。