HCaptchaTaskProxyless#
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.
HCaptchaTaskProxyless Struktura obiektu zadania#
nazwa typ Wymagany Opis type Smyczkowy Tak HCaptchaTaskProxyless
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`
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" : "HCaptchaTaskProxyless" ,
"websiteURL" : "https://hcaptcha.com/demo/hcaptcha" ,
"websiteKey" : "f7de0da3-3303-44e8-ab48-fa32ff8ccc7b" ,
"isInvisible" : false ,
"enterprisePayload" : {
"rqdata" : "eyJ0eXAi"
}
}
}
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
var result = await nextCaptchaAPI. SolveHCaptchaAsync (websiteUrl, websiteKey, isInvisible);
Powiązane linki#