HCaptchaを解決する
Hcaptchaを自動的に解決するには、このタイプのタスクを使います。タスクの結果はトークンで、対象のウェブサイトのフォームで使用する必要があります。 Hcaptchaの開発者は、彼らののcaptchaを「Recaptchaのドロップイン置き換え」と呼んでいます。当社はAPIで同じものを作ろうとしたので、タスクプロパティは「タイプ」 以外、RecaptchaV2TaskProxylessと全く同じです。
User-Agent 値に関する重要なお知らせ。以前は、タスクに独自の User-Agent を指定することができましたが、これは変更されました。代わりに、Hcaptcha の有料版をバイパスするために必要な作業員のユーザー エージェントを提供します。これは、現在他のプラットフォーム、例えばFirefox でChromeのユーザエージェントをエミュレートすることはほとんど不可能だからです。ブラウザーには、navigator.userAgent 以外にも、特定のプラットフォームに特化した二次的なアーティファクトが多数あります。
captcha例
タスクオブジェクト
プロパティ | タイプ | 必須 | 目的 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | 文字列 | はい | HCaptchaTaskProxyless | ||||||||||||||||||||||||
websiteURL | 文字列 | はい | ターゲットページのアドレス。ユーザーエリアでも、ウェブサイトのどこにでも挿入できます。作業員は実際にアクセスしませんがアクセスをシミュレートします。 | ||||||||||||||||||||||||
websiteKey | 文字列 | はい | hCaptchaサイトキー | ||||||||||||||||||||||||
非推奨です。代わりに、 「getTaskResult」メソッドによって返される作業員のUser-Agent を使用します。 | |||||||||||||||||||||||||||
isInvisible | ブール型 | いいえ | Hcaptchaを非表示にするかどうかを指定します。これにより、作業員に適切なウィジェットがレンダリングされます。 | ||||||||||||||||||||||||
isEnterprise | ブール型 | いいえ | Hcaptcha を最も高いHcaptcha スコアの作業員で解決したい場合は、このパラメータを使います。解決コストが3倍になることに注意してください。 | ||||||||||||||||||||||||
enterprisePayload | オブジェクト | いいえ | EnterpriseバージョンのHcaptchaウィジェットをレンダリングするために使用する追加のパラメーター。
|
リクエスト例
Python
Javascript
Go
PHP
Java
C#
bash
#pip3 install anticaptchaofficial
from anticaptchaofficial.hcaptchaproxyless import *
solver = hCaptchaProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")
# tell API that Hcaptcha is invisible
#solver.set_is_invisible(1)
# tell API that Hcaptcha is Enterprise
#solver.set_is_enterprise(1)
# set here parameters like rqdata, sentry, apiEndpoint, endpoint, reportapi, assethost, imghost
#solver.set_enterprise_payload({
# "rqdata": "rq data value from target website",
# "sentry": True
#})
# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)
g_response = solver.solve_and_return_solution()
if g_response != 0:
print("g-response: "+g_response)
print("user-agent, use it to post the form: ", solver.get_user_agent())
print("respkey, if any: ", solver.get_respkey())
else:
print("task finished with error "+solver.error_code)
タスクソリューションオブジェクト
プロパティ | タイプ | 目的 |
---|---|---|
gRecaptchaResponse | 文字列 | ターゲットウェブサイトで送信フォームでやり取りするために必要なトークン文字列です。 |
respKey | 文字列 | 利用可能な場合の「window.hcaptcha.getRespKey()」関数の出力です。一部のWebサイトでは、追加の検証に使用されます。 |
userAgent | 文字列 | 作業員のブラウザのUser-Agent。応答トークンを送信するときに使用します。 |
レスポンス例
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3......",
"respKey":"E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoiQk5vb1JuZ0FPSHBCM2EyWURSSC......",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}