Wenn Sie mit Node.js unter Verwendung von undici, axios oder node-fetch scrapen, können Anti-Bot-Systeme Sie oft blockieren, selbst wenn Ihr User-Agent exakt wie Chrome aussieht. Der Grund liegt nicht im Header: Es ist der TLS- und HTTP/2-Fingerabdruck, der während des Handshakes gesendet wird.
Was in einem typischen Node-Client durchsickert
Erfassen Sie eine echte Chrome-Sitzung auf tls.peet.ws und vergleichen Sie sie mit dem Standard-Stack von Node. Chrome auf macOS zeigt oft Werte wie:
- JA4 wie
t13d1516h2_8daaf6152771_d8a2da3f94cd(siehe JA4+ Spezifikation) - HTTP/2 Akamai-Einstellungen in Chrome-Reihenfolge mit
WINDOW_UPDATE +15663105 - ALPS, GREASE und hybride
X25519MLKEM768Key Shares
Der native TLS-Stack von Node ordnet Cipher nach OpenSSL-Standardeinstellungen, überspringt GREASE und sendet HTTP/2 SETTINGS in einer anderen Form. Bot-Manager (Cloudflare, Akamai, DataDome, PerimeterX) erkennen diesen Fingerabdruck, bevor Ihr erstes HTTP-Byte gesendet wird.
hellojs: Chrome-förmiges TLS von Node
@unreleased/hellojs ist ein Node-HTTP-Client, der den Handshake auf dem Draht neu aufbaut, um Chrome 147 auf macOS zu entsprechen: JA4, Akamai H2, ALPN und Standard-Header-Reihenfolge. Es unterstützt auch:
- Klonen von Captures von tls.peet.ws über
profiles.registerFromPeet() - HTTP/3 über Alt-Svc-Upgrade
- SOCKS5- und HTTP-CONNECT-Proxies
Es läuft nicht im Browser: Verwenden Sie es in Ihrer Scraper-Laufzeitumgebung, nicht im Frontend-Code.
Für TLS-Impersonation in anderen Laufzeitumgebungen siehe curl-impersonate (Python/C) oder uTLS (Go).
Fingerabdrücke inspizieren ohne zu raten
Verwenden Sie diese kostenlosen Piloterr-Toolbox-Tools (nur Browser):
- TLS Capture Analyzer: Fügen Sie JSON von tls.peet.ws
/api/allein - JA4 Decoder: Zerlegen Sie einen JA4-String in TLS-Version, ALPN und Hash-Teile
- HTTP/2 Akamai Decoder: Dekodieren Sie Akamai-H2-Fingerabdruck-Strings
- Fingerprinting Resources: Testseiten, Bibliotheken und Piloterr-Toolbox-Tools
Wenn TLS-Mimikry nicht ausreicht
TLS-Fingerprinting ist nur eine Ebene. Websites überprüfen auch Browser-Laufzeitsignale (Canvas, WebGL, navigator.webdriver), IP-Reputation und Verhalten. Für das Scraping im Produktionsmaßstab kombinieren Sie:
- Realistisches TLS/H2: Dedizierte Impersonations-Clients (curl-impersonate, uTLS, reqwest-impersonate usw.) oder Piloterr-Artikel zu hellojs und wreq
- Konsistente Header: Chrome Request Headers Builder
- Verwaltete Proxies und Browserautomatisierung bei Bedarf: Piloterr Web Scraping API