Solve hCaptcha with a proxy
hCaptcha devs call their captcha "a drop-in replacement for reCaptcha". We tried to create the same thing in our API, so task properties are absolutely the same as in RecaptchaV2Task except for the "type" property.
Important notice about the User-Agent value. Previously, it was possible to specify your own User-Agent for the tasks, but this has changed. Instead we provide the worker's User-Agent which you need to use to bypass the paid version of hCaptcha. This was changed because nowadays it is almost impossible to emulate an alien User-Agent in another platform, for example, the Chrome User-Agent in Firefox. Browsers have a large number of secondary artefacts besides navigator.userAgent, which belong specifically to one or another platform.
Task object
Property | Type | Required | Purpose | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | String | Yes | HCaptchaTask | ||||||||||||||||||||||||
websiteURL | String | Yes | Address of a target web page. Can be located anywhere on the web site, even in a member area. Our workers don't navigate there but simulate the visit instead. | ||||||||||||||||||||||||
websiteKey | String | Yes | hCaptcha sitekey | ||||||||||||||||||||||||
proxyType | String | Yes | Type of proxy http - usual http/https proxy socks4 - socks4 proxy socks5 - socks5 proxy | ||||||||||||||||||||||||
proxyAddress | String | Yes | Proxy IP address ipv4/ipv6. No host names or IP addresses from local networks. | ||||||||||||||||||||||||
proxyPort | Integer | Yes | Proxy port | ||||||||||||||||||||||||
proxyLogin | String | Yes | Login for proxy which requires authorization (basic) | ||||||||||||||||||||||||
proxyPassword | String | Yes | Proxy password | ||||||||||||||||||||||||
Deprecated. Instead, use User-Agent from our workers which is returned by the "getTaskResult" method. | |||||||||||||||||||||||||||
isInvisible | Boolean | No | Specify whether hCaptcha is invisible or not. This will render an appropriate widget for our workers. | ||||||||||||||||||||||||
isEnterprise | Boolean | No | Use this parameter if you'd like your hCaptcha to be solved by workers with the highest hCaptcha score. Note that it triples the cost of solving. | ||||||||||||||||||||||||
enterprisePayload | Object | No | Additional parameters which we'll use to rfeature3, ender hCaptcha widget for the Enterprise version.
|
Request example
#pip3 install anticaptchaofficial
from anticaptchaofficial.hcaptchaproxyon import *
solver = hCaptchaProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://hcaptcha.com/")
solver.set_website_key("00000000-0000-0000-0000-000000000000")
solver.set_proxy_address("PROXY_ADDRESS")
solver.set_proxy_port(1234)
solver.set_proxy_login("proxylogin")
solver.set_proxy_password("proxypassword")
solver.set_user_agent("Mozilla/5.0")
solver.set_cookies("test=true")
# 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)
Task solution object
Property | Type | Purpose |
---|---|---|
gRecaptchaResponse | String | Token string required for interacting with the submit form on the target website. |
respKey | String | Output of "window.hcaptcha.getRespKey()" function when it is available. Some websites use it for additional verification. |
userAgent | String | User-Agent of the worker's browser. Use it when you submit the response token. |
Response example
{
"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"
}