Util::hCaptcha - hCaptcha-Erkennung
Übersicht des Parsers
Dieser Parser wird nur als integrierbare Komponente in anderen Scrapern verwendet, bei denen es notwendig sein kann, hCaptcha zu lösen, sowie in benutzerdefinierten JavaScript-Scrapern.
Das Funktionsprinzip dieses Parsers besteht darin, hCaptcha-Daten (in der Regel der Sitekey und die URL der Seite, auf der das hCaptcha erscheint) an einen Lösungsdienst zu senden und als Antwort ein Token zu erhalten, das aus Zahlen und Buchstaben besteht. Die Korrektheit der Lösung hängt allein vom Lösungsdienst ab; in der Regel lösen diese Dienste hCaptcha fast immer korrekt.
TODO: (next) Verbindung/Nutzung beschreiben und/oder Link zum Beispiel einfügen
Funktionen
- Unterstützung für folgende Dienste: AntiCaptcha, RuCaptcha, 2captcha, CapMonster.cloud, CapSolver, captchas.io, XEvil, NextCaptcha
- Möglichkeit, die Wartezeit auf eine Antwort und die Verzögerung bei der Statusprüfung zu konfigurieren
Anwendungsfälle
- Erkennung von hCaptcha in Scrapern, bei denen das Lösen von hCaptcha optional oder zwingend erforderlich ist, um Ergebnisse zu erhalten
Anfragen
Der Parser akzeptiert zwei Arten von Anfragen:
sitekeyurlsitekeyurlproxyuser-agent
Parameter werden durch Leerzeichen getrennt und bedeuten:
sitekey- der Sitekey von hCaptchaurl- die Seite, auf der sich das hCaptcha befindetproxy- der Proxy, über den das hCaptcha empfangen wurde. Der Parameter muss im Formatlogin:pass@ip:port@typefür Proxys mit Authentifizierung oderip:port@typefür Proxys ohne Authentifizierung vorliegen- type kann
http,https,socks4,socks5sein
- type kann
user-agent- der User-Agent, mit dem das hCaptcha empfangen wurde
Beispiele für die Ergebnisausgabe
$resp- die Antwort (Token) von hCaptcha$error- falls ein Fehler aufgetreten ist, dessen Beschreibung
Ausgabe des hCaptcha-Tokens
Ergebnisformat:
$resp
Beispielergebnis:
P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNza2V5IjoiVXJ3bllsN0VIeGxsTTA2Nm5LVTl3VFQzY3dFdmJTTVpreGZnUGM5YlNjaFZCaE1JL0l5MnR2VjN6TjlVQUM4cjEyOWlFaHZrUkg4VnV5Y3JwUW1wRjFFZ0wwZk92VjFuRjlyV1dmUlhSYjRFaHdvekw5RitaNXdlenBHR1FRQkgzdWF5dCtYWnJSM2d2Mjh6WXhmeTdLaGlCUjFDdDRLVG9tQ1RYVm90S3dsdTJHOW8xQm5XZy9jT0E1WGd1OUc1bGNBaFJMNVVRNGt4cm4rZ2hkTTlIdEJ3SU4xcTcyZnNtbGxGenN4UE40OGtwRFVBUXhydnVMcVlaTDA2SmozWWZNWWp0WUo5Qmo0RXZJcTFqWUZyMkRsQzJWOVBVdVN2WUcvSVZURXJHaWFSZ0tBMnNuRlRXekcvV0FoK2YwU0YyUWJlVnQ2RnpoTmhValVZSmxsUVVuc1d5Y2libEZ2Ynp3ZkwzUHFqQ2Z0UnZtUFFKbE1EYjk5VVYzUUN0a2tBbHJ1bFVyNVJoVDhrckQwSkY3SkZzSU1MbUw3aXBmMkF0T1B4ZDQ1eS9UTlBrbG9vZGRQajlOUlYxeGZYWGNoQklobEcwRDR5UVNlZGw5VDBKTzZVREI1T3VCMTEzakRwUzFUMGcrbFJIRDN0RnNtRStjRms3bmZ6TTBRZzZRYWtJQWhZZkpJcEV6MldTTkFLVnpYcjZBRG5xZ3Jmb2FXTWdMR2xuRWJMMGcxRTN2SHNqbzhZNTk3ek9jTWhUdXpqSEk2RElIWmgwYWxYV3paKzduRjZscHl5KzNHTUovTXJYOHlpT2toS3dsSUtrWHpMSnUrT2wzMjQzQW1VMzEzc0hVUk1zRUszSDJHM1dIeUpOWk55OXFyZVk1NVg2cWFja25DSFozNStVWk5rV21UOStjdXZyNG95MDZ0Q1dGZjhLbjdrTVVXM25odHF5L3F6dEN2YjZ6RDdEN05BczI3RlFKU3IrTlJmNkh4aHBJK29QR0QvWnhXV1dVSlZhT3Rvb3NQbFZPdzdKakVQM1NMUHZ4VzhncElUeTlKc3MvWVE3aG43TGVxSDYyQ2RFWE1WdEYxRmZyU3FBT3VobjVwRnV6MmlLM1FLTy9lZGFJNXBpd05OWkg2cTk1WjVMTXBzNkJFZE1qaVBPUENsazl3OUpaeTJZUklxU1hVUUxvWUpyT0tFYlJHaEU0RkpkTTlYTk1FMWJHdVRkbWZ1WkxuZmwwTVF6R0EyU3lwSDQ0NDcwcjRPT3hSY2JGT3ZqcmZ6dzdHcHpxaWcxMVREcWQxQllrOEQ4WDNtaVZlblF2VzNIZUFjWWtyQ2tlRDBGUXJzM3kreVVoWE9mM3BFWUNLcWhtdHpYZ2NZMVBlVHF5Zit5Mms0SEdMaUhGN1V3MkNlc05KY3dDMkU1WVNWUW9QbjZaYWUzZWxyWDVFUWRkSnNiTS9STllPZ3RZOThwbmdaK2ZkdEw0MXRVRThnY3VaQ0tDdXVyU1l2SmVLM3g5YkxOU2E4a0ZGdlZDUzVYbkQ1Q0FENm5GS3M5WWhsSEFZZmE4UjJmK1FkWk9LS3dQRWNDbFNzaVErdjJqczRKcXJjKzlVTjhLbjRHbGpBenRDS2JWbE5SOFEwcjNqT0g5SzdBSS93bEFUNVFIVWgyQ2I1aE93TkpXTEdXQlgzd1VkZFNUOVh0RWsrTzlDclFFRnV1RDZKaDQvUUdXMHBiSE9pSzVwQmRFdnFrRngzUlpDcXZES1dTaUJlZUZuME4xNWlmeDJ5SkUzZFdrTk5GVzVTaUZ1UktRWlVER3NsNzYxSzZiTVJPalQ5Ujc5bnBldC8xUThEN2Y4aEZhenBBekhlT2gxNHVONGExUUhOYlNwWXphT3JVSEhIQ0lCUHRCQVVFZFhuQWZIdmV6OXIrSnZONWtzVXJFVE1jNk41N2FmMFUvR3pOY2F4bVBRNUJJNGRxdTl4YmNDZ3hFYlpmc0VURGhxbjBDdGNGT21MQ1NUdEdLQ2dGTDhLSDRxZmtJd2NReENaZ1RLcHo2dVFqUEN0RmphL0pDU2RYcVZ2dWJlYm5BMzk0bFVZeG05YkFiQVdSZXZDaFB2R0NnUXczZWNNalVUczYwNVYyMS9BR2o2NndDU09IN3hkY09KQmdVVzVWNTZDMEFNUTVCQWZRZTdFOHo0eTBtb0srbXVrVmgrRzk5b0tZcm8vckJLdFdoVGthc1dtbU42d3IwcVhaVHBrWGJ5a29PdnZOMWZpaGFZR0J0OXlTSlpYZWowWHBiTGpOY2plSHpBVzI4dldNb0NIZmVCcmc2bjJqVU5xQnZDSitOSUZ0eUlqQjBCMmZ0MjdDVWI2ZzlRV0IzWVNZeVZzbG9nbm1DbzFwem5pQzZqaTRTMkVxbWpTMldtRVJ0am4ranA3NEZQSVlORkw4b3BpSUp1bnhwY2ZtM0dkL3RWY0lFeFpYVlZkTUVIV3llUHhGdzBTdVNld0RseCtaamJpc2RMQXBsd2RYalZqZ0g3cE5VTGxVbXREalRBakV0bFlYVmI4YUl3NEI0bk1uTGJQb0hXeVY4RUJjMWo4ZGdnOTU5Mk01OUk0NFBoMUFTTjZVZz09TnNTUFo4czYxdEwreTh2YyIsImV4cCI6MTY0MzE4NDg4MSwic2hhcmRfaWQiOjgyMDc4NjA4NiwicGQiOjB9.V7DPQWNQkZBS_g2OX0B64zFnrHqnPMmGKv44vLW5N5g
Mögliche Einstellungen
Zur Auswahl des Dienstes wird der Parameter Provider verwendet.
| Parameter | Standardwert | Beschreibung |
|---|---|---|
| Client key | Client-Schlüssel für Online-Lösungsdienste | |
| Provider url | Provider-URL, ermöglicht das Überschreiben der Domain. Es können mehrere durch Komma getrennt angegeben werden; der Parser verwendet diese in zufälliger Reihenfolge. Kann leer sein, der Parser verwendet automatisch die richtige URL basierend auf dem gewählten Lösungsdienst | |
| Provider | AntiCaptcha | Lösungsdienst |
| Wait between get status | 5 | Verzögerung zwischen den Statusabfragen |
| Max wait time | 300 | Maximale Wartezeit für das Lösen |