프록시와 함께 hCAPTCHA 풀기
hCAPTCHA 개발자들의 경우, 해당 CAPTCHA를 "reCAPTCHA에 대한 드롭인 대체제"라고 부르고 있습니다. 당사는 당사의 API에서 이와 동일한 것을 만들고자 하였으며, 따라서 작업 속성은 "type" 속성을 제외하고는 RecaptchaV2Task와 완전히 동일합니다.
사용자 에이전트값에 대한 중요한 알림. 이전에는 작업에 고유한 사용자 에이전트를 지정할 수 있었으나, 현재는 변경되었으며, 대신 유료 버전의 hCAPTCHA를 우회하는 데 필요한 작업자의 사용자 에이전트를 제공합니다. 최근에는 Firefox의 Chrome 사용자 에이전트와 같이 타 플랫폼에서 외부 사용자 에이전트를 에뮬레이트하는 것이 거의 불가능하기 때문에 변경된 것으로, 브라우저에는 navigator.userAgent 외에도 특히 하나 또는 다른 플랫폼에 속하는 보조 아티팩트가 다수 포함되어 있습니다.
CAPTCHA 예제
작업 객체
속성 | 유형 | 필수 | 목적 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | 문자열 | 예 | HCaptchaTask | ||||||||||||||||||||||||
websiteURL | 문자열 | 예 | 대상 웹페이지 주소. 회원 영역을 포함하여 웹사이트의 어느 곳에나 위치할 수 있습니다. 당사의 작업자는 해당 페이지를 탐색하지는 않으나, 대신에 해당 페이지의 방문 시뮬레이션합니다. | ||||||||||||||||||||||||
websiteKey | 문자열 | 예 | hCAPTCHA 사이트 키 | ||||||||||||||||||||||||
proxyType | 문자열 | 예 | 프록시 유형 http - 일반적인 http/https 프록시 socks4 - socks4 프록시 socks5 - socks5 프록시 | ||||||||||||||||||||||||
proxyAddress | 문자열 | 예 | 프록시 IP 주소 ipv4/ipv6. 로컬 네트워크의 호스트명이나 IP 주소는 필요 없습니다. | ||||||||||||||||||||||||
proxyPort | 정수 | 예 | 프록시 포트 | ||||||||||||||||||||||||
proxyLogin | 문자열 | 예 | 인증이 필요한 프록시 로그인 (기본) | ||||||||||||||||||||||||
proxyPassword | 문자열 | 예 | 프록시 비밀번호 | ||||||||||||||||||||||||
더 이상 사용되지 않습니다. 대신 "getTaskResult" 메서드에서 반환되는 작업자의 사용자 에이전트를 사용하시기 바랍니다. | |||||||||||||||||||||||||||
isInvisible | 불린 | 아니요 | hCAPTCHA의 invisible 여부를 지정하며, 이를 통해 작업자에게 적절한 위젯이 렌더링됩니다. | ||||||||||||||||||||||||
isEnterprise | 불린 | 아니요 | hCAPTCHA 점수가 가장 높은 작업자와 함께 hCAPTCHA를 풀려면 이 매개변수를 사용하시기 바랍니다. 단, 푸는 데 드는 비용은 3배 증가하니 참고 하시기 바랍니다. | ||||||||||||||||||||||||
enterprisePayload | 객체 | 아니요 | 엔터프라이즈 버전용 hCAPTCHA 위젯을 렌더링하는 데 사용할 추가 매개변수.
|
예제 요청
Python
Javascript
Go
PHP
Java
C#
bash
#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)
작업 솔루션 객체
속성 | 유형 | 목적 |
---|---|---|
gRecaptchaResponse | 문자열 | 대상 웹사이트의 제출 양식과 상호작용하는 데 필요한 토큰 문자열. |
respKey | 문자열 | 사용 가능한 경우 "window.hcaptcha.getRespKey()" 함수를 출력합니다. 일부 웹사이트에서는 추가 확인을 위해 이를 사용합니다. |
userAgent | 문자열 | 작업자 브라우저의 사용자 에이전트. 응답 토큰을 제출할 때 사용합니다. |
응답 예제
{
"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"
}