hCaptchaTask#
Obejście hCaptcha oparte na tokenach. Metoda jest bardzo podobna do metody
reCAPTCHA V2 . Token można wykorzystać na docelowej stronie internetowej w polu formularza h-captcha-response lub przekazać do funkcji wywołania zwrotnego.
HCaptchaTask Struktura obiektu zadania#
nazwa typ Wymagany Opis type Smyczkowy Tak HCaptchaTask
websiteURL Smyczkowy Tak Pełny adres URL strony docelowej, na którą ładowany jest kod weryfikacyjny websiteKey Smyczkowy Tak Klucz witryny hCaptcha. Można go znaleźć w atrybucie „data-sitekey” elementu div hCaptcha lub parametrze „sitekey” żądania do interfejsu API hCaptcha isInvisible Boolowski NIE Działa z niewidoczną wersją hCaptcha - nie ma pola wyboru, ale pojawi się wyzwanie. Zwykle używane z funkcjami wywołania zwrotnego enterprisePayload Obiekt NIE Obiekt zawierający dodatkowe parametry, takie jak: `rqdata` proxyType Smyczkowy Tak Typ proxy: `http`, `socks4`, `socks5` proxyAddress Smyczkowy Tak Adres IP lub nazwa hosta serwera proxy proxyPort Liczba całkowita Tak Port proxy proxyLogin Smyczkowy NIE Logowanie agenta proxyPassword Smyczkowy NIE Hasło agenta
Przykład prośby#
Punkt końcowy interfejsu API: https://api.nextcaptcha.com/createTask
metoda: POST
Typ zawartości: application/json
{
"clientKey" : "api key" ,
"task" : {
"type" : "HCaptchaTask" ,
"websiteURL" : "https://hcaptcha.com/demo/hcaptcha" ,
"websiteKey" : "f7de0da3-3303-44e8-ab48-fa32ff8ccc7b" ,
"isInvisible" : false ,
"enterprisePayload" : {
"rqdata" : "eyJ0eXAi"
},
"proxyType" : "http" ,
"proxyAddress" : "your_proxy_address" ,
"proxyPort" : 1234 ,
"proxyLogin" : "your_proxy_login" ,
"proxyPassword" : "your_proxy_password"
}
}
Przykład odpowiedzi#
{
"errorId" : 0 ,
"status" : "ready" ,
"solution" : {
"respKey" : "E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9" ,
"userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299" ,
"gRecaptchaResponse" : "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
},
"createTime" : 1701234567890 ,
"endTime" : 1701234567890
}
Przykładowy kod#
# https://github.com/nextcaptcha/nextcaptcha-python
import os
import sys
from nextcaptcha import NextCaptchaAPI
client_key = os.getenv( 'NEXTCAPTCHA_KEY' , "YOUR_CLIENT_KEY" )
api = NextCaptchaAPI( client_key = client_key)
try :
result = api.hcaptcha( website_url = "https://example.com" , website_key = "SITE_KEY" )
except Exception as e:
sys.exit(e)
else :
sys.exit( 'solved: ' + str (result))
// https://github.com/nextcaptcha/nextcaptcha-go
package main
import (
" fmt "
" log "
" github.com/nextcaptcha/nextcaptcha-go "
)
func main () {
api := nextcaptcha. NewNextCaptchaAPI ( "API_KEY" )
result, err := api. HCaptcha ( "https://example.com" , "SITE_KEY" , nextcaptcha . RecaptchaV3Options {})
if err != nil {
log. Fatal (err);
}
fmt. Println ( "result " + result)
}
// https://github.com/nextcaptcha/nextcaptcha-csharp
string clientKey = "YOUR_CLIENT_KEY" ;
string solftId = "" ; // Optional
string callbackUrl = "" ; // Optional
bool openLog = true ; // Optional
var nextCaptchaAPI = new NextCaptchaAPI (clientKey, solftId, callbackUrl, openLog);
string websiteUrl = "https://example.com" ;
string websiteKey = "YOUR_WEBSITE_KEY" ;
bool isInvisible = false ; // Optional
Dictionary < string , object > enterprisePayload = null ; // Optional
string proxyType = "" ; // Optional
string proxyAddress = "" ; // Optional
int proxyPort = 0 ; // Optional
string proxyLogin = "" ; // Optional
string proxyPassword = "" ; // Optional
var result = await nextCaptchaAPI. SolveHCaptchaAsync (websiteUrl, websiteKey, isInvisible, enterprisePayload, proxyType, proxyAddress, proxyPort, proxyLogin, proxyPassword);
Powiązane linki#