🎯 कस्टमाइज़ करने योग्य, डिटेक्शन-प्रतिरोधी क्लाउड ब्राउज़र जो स्व-विकसित Chromium द्वारा संचालित है, वेब क्रॉलर और एआई एजेंट्स के लिए डिज़ाइन किया गया। 👉अभी आज़माएं
वापस ब्लॉग पर

httpcloak वेब स्क्रैपिंग: पायथन में फुल-स्टैक ब्राउज़र फिंगरप्रिंट्स

Michael Lee
Michael Lee

Expert Network Defense Engineer

22-Jul-2026

संक्षेप में:

  • httpcloak एक Python HTTP क्लाइंट है जो पूरे नेटवर्क स्टैक में एक ब्राउज़र की नकल करता है: TLS, HTTP/2, HTTP/3, और TCP, केवल TLS हाथ मिलाने के अलावा नहीं।
  • एक httpcloak.get(url, preset="chrome-146") कॉल एक ब्राउज़र का JA3, JA4, और HTTP/2 फिंगरप्रिंट एक साथ प्रस्तुत करता है, बिना ब्राउज़र प्रक्रिया के।
  • एक अनुरोध में एक से अधिक फिंगरप्रिंट होते हैं: JA3 हैश हर बार बदलता है क्योंकि GREASE की वजह से, जबकि JA4 और HTTP/2 फिंगरप्रिंट स्थिर रहते हैं।
  • httpcloak कोई जावास्क्रिप्ट नहीं चलाता, इसलिए एक क्लाइंट- rendered पृष्ठ पर यह खाली कवच लौटाता है; गाइड इसे 0 कोट ब्लॉक्स के साथ httpcloak से और 10 Scrapeless से रेंडरिंग के साथ साबित करता है।
  • जब एक नेटवर्क फिंगरप्रिंट बाधा बनता है, तो httpcloak का उपयोग करें, और जब पृष्ठ को रेंडरिंग, चुनौतियों को हल करने, या IP रोटेशन की आवश्यकता हो, तो Scrapeless का उपयोग करें।
  • उन पृष्ठों के लिए Scrapeless मुफ्त योजना पर शुरू करें जहां एक फिंगरप्रिंट अकेले नहीं पहुँच सकता।

एक सर्वर एक अनुरोध को कई परतों पर फिंगरप्रिंट कर सकता है इससे पहले कि वह प्रतिक्रिया का एक बाइट पढ़े। TLS ClientHello एक है। HTTP/2 SETTINGS फ्रेम अन्य हैं। TCP विकल्प एक तृतीय है। एक क्लाइंट जो केवल TLS परत को ठीक करता है, फिर भी अन्य पर अलग नज़र आता है, और एक डिटेक्टर जो एक से अधिक परतों की जाँच करता है, असंगति को झंडा देता है। httpcloak सभी परतों पर एक ही बार में काम करता है, एक असली ब्राउज़र के फिंगरप्रिंट को उन सभी के बीच उधार लेकर।

यह गाइड उन फिंगरप्रिंट्स को वापस पढ़ती है जो httpcloak उत्पन्न करता है, बताती है कि उनमें से एक क्यों हर रन के बीच बदलता है जबकि अन्य नहीं, और फिर उस रेखा को खींचती है जिसे httpcloak पार नहीं कर सकता। जहां एक पृष्ठ को एक असली ब्राउज़र की आवश्यकता होती है, वहाँ Scrapeless यूनिवर्सल स्क्रैपिंग API कार्यभार संभालता है। नीचे हर मान एक असली रन से आया है।

httpcloak क्या अनुकरण करता है

httpcloak एक requests-शैली का क्लाइंट है जो परतों में एक ब्राउज़र के फिंगरप्रिंट की नकल करता है। TLS परत पर यह एक ब्राउज़र JA3 और JA4 प्रस्तुत करता है। परिवहन परत पर यह HTTP/2 SETTINGS फ्रेम, विंडो आकार, और स्ट्रीम प्राथमिकताओं को पुन: उत्पन्न करता है जो मिलकर HTTP/2 प्रोटोकॉल पर परिभाषित फिंगरप्रिंट बनाते हैं, और यह HTTP/3 और TCP विकल्पों तक बढ़ता है। आप एक प्रीसेट के साथ एक लक्ष्य चुनते हैं, और httpcloak रेपो इस ब्राउज़र के संस्करणों की सूची देता है, chrome-146 से firefox-133 और safari-18 तक।

httpcloak जो नहीं करता है वह है ब्राउज़र चलाना। कोई जावास्क्रिप्ट इंजन नहीं है और न ही रेंडरिंग है। यह फिंगरप्रिंट्स का एक सेट है, न कि एक ब्राउज़र।

इंस्टॉल करें

httpcloak एक ही पाइप इंस्टॉल है।

bash Copy
pip install httpcloak

फुल-स्टैक फिंगरप्रिंट पढ़ें

एक preset पास करें और httpcloak उस ब्राउज़र का नेटवर्क सिग्नेचर बनाता है। निम्नलिखित अनुरोध एक फिंगरप्रिंट सेवा से रिपोर्ट करता है कि उसने कौन-कौन सी परतें देखी हैं।

python Copy
import httpcloak

response = httpcloak.get("https://tls.peet.ws/api/all", preset="chrome-146", timeout=30)
data = response.json()
print("http संस्करण:", data["http_version"])
print("ja3 हैश:", data["tls"]["ja3_hash"])
print("ja4:", data["tls"]["ja4"])
print("http2 अकामाई हैश:", data["http2"]["akamai_fingerprint_hash"])

सेवा HTTP/2, एक JA3 हैश, एक JA4 फिंगरप्रिंट, और एक HTTP/2 फिंगरप्रिंट की रिपोर्ट करती है, सभी एक ही अनुरोध से।

text Copy
http संस्करण: h2
ja3 हैश: 0f368595c1c27a2c9024014615c2a295
ja4: t13d1516h2_8daaf6152771_d8a2da3f94cd
http2 अकामाई हैश: 52d84b11737d980aef856699f885ca86

एक अनुरोध, कई फिंगरप्रिंट्स

उस स्क्रिप्ट को दो बार चलाएं और ja3 हैश बदलता है, जबकि ja4 और http2 अकामाई हैश समान रहते हैं। यह अस्थिरता नहीं है। GREASE तंत्र TLS ClientHello में यादृच्छिक आरक्षित मान डालता है, और JA3 उन मानों को हैश करता है, इसलिए JA3 कनेक्शनों के बीच चलता है, बिल्कुल असली Chrome की तरह। JA4 फिंगरप्रिंट GREASE मानों को क्रमबद्ध और निष्कासित करता है, इसलिए यह स्थिर है, और HTTP/2 फिंगरप्रिंट स्थिर SETTINGS फ्रेम से आता है, इसलिए यह भी स्थिर है। पाठ यह है कि एक अनुरोध में कई फिंगरप्रिंट होते हैं, और केवल JA3 की जांच करने से शोर दिखाई देता है, जबकि स्थायी संकेत JA4 और HTTP/2 परत में रहता है।

जहां httpcloak रुकता है

एक फुल-स्टैक नेटवर्क फिंगरप्रिंट एक अनुरोध को फिंगरप्रिंट जांच के पार ले जाता है, लेकिन यह पृष्ठ को रेंडर नहीं करता। एक ऐसी साइट पर जो अपनी सामग्री को जावास्क्रिप्ट से बनाती है, httpcloak ठीक वही लौटाता है जो सर्वर ने भेजा, जो एक खाली कवच होता है, और फिंगरप्रिंट सटीकता की कोई मात्रा इसे नहीं भरती। यही वह जगह है जहां रेंडरिंग टूल की आवश्यकता होती है।

अपने Scrapeless की कुंजी को शेल में सेट करें। समय पर असली कुंजी का उपयोग करें और प्लेसहोल्डर को अपने स्रोत से दूर रखें।

bash Copy
export SCRAPELESS_API_KEY="sk_your_key_here"

नीचे दिया गया स्क्रिप्ट एक जावास्क्रिप्ट द्वारा प्रस्तुत उद्धरण पृष्ठ को दो तरीकों से लाता है: httpcloak के साथ एक पूर्ण ब्राउज़र फिंगरप्रिंट के साथ, और Scrapeless के साथ रेंडरिंग चालू।

python Copy
import json
import os
import urllib.request

import httpcloak

JS_PAGE = "https://quotes.toscrape.com/js/"

response = httpcloak.get(JS_PAGE, preset="chrome-146", timeout=30)
print("httpcloak स्थिति:", response.status_code)
print("httpcloak उद्धरण खंड:", response.text.count('class="quote"'))


def scrapeless(url: str) -> str:
    payload = json.dumps(
        {"actor": "unlocker.webunlocker", "input": {"url": url, "js_render": True, "headless": True}}
    ).encode()
    request = urllib.request.Request(
        "https://api.scrapeless.com/api/v2/unlocker/request",
        data=payload,
        headers={"x-api-token": os.environ["SCRAPELESS_API_KEY"], "Content-Type": "application/json"},
        method="POST",
    )
    with urllib.request.urlopen(request, timeout=90) as response:
        return json.loads(response.read())["data"]


html = scrapeless(JS_PAGE)
print("scrapeless उद्धरण खंड:", html.count('class="quote"'))

httpcloak को 200 की साफ स्थिति मिलती है और उद्धरणों की संख्या शून्य होती है, क्योंकि उद्धरण जावास्क्रिप्ट द्वारा तैयार किए जाते हैं जो कभी चलते नहीं हैं। Scrapeless पृष्ठ को रेंडर करता है और उद्धरण दिखाई देते हैं।

text Copy
httpcloak स्थिति: 200
httpcloak उद्धरण खंड: 0
scrapeless उद्धरण खंड: 10

200 एक जाल है: अनुरोध सफल होता है, इसलिए कुछ गलत नहीं दिखाई देता, लेकिन सामग्री वहाँ नहीं है। ये दोनों उपकरण अलग-अलग समस्याओं का उत्तर देते हैं। httpcloak कार्यों के नेटवर्क फिंगरप्रिंट को परतों में पुन: पेश करता है; यह रेंडर नहीं करता, चुनौती को साफ नहीं करता, या IP को घुमाता नहीं है। सर्वर द्वारा मापे जाने वाले व्यापक दृश्य के लिए, ब्राउज़र फिंगरप्रिंटिंग पर गाइड नेटवर्क स्टैक के परे संकेतों को कवर करता है।

किसी भी साइट पर इसे चलाने से पहले, उसके robots.txt और शर्तों को पढ़ें। रोबोट्स बहिष्कार प्रोटोकॉल बताता है कि एक साइट स्वचालित ग्राहकों से कौन से पथों से बचने के लिए कहती है, और इसका सम्मान करने से एक स्क्रैपर को टिकाऊ बनाए रखता है।

क्या आप उन पृष्ठों के लिए तैयार हैं जो केवल एक फिंगरप्रिंट नहीं पहुंच सकता? एक मुफ्त Scrapeless खाता बनाएं और उन्हें रेंडर करें।

निष्कर्ष

httpcloak तब सही उपकरण है जब दीवार एक नेटवर्क फिंगरप्रिंट है, और यह इसके बारे में पूर्ण है: JA3, JA4, HTTP/2, HTTP/3, और TCP एक अनुरोध से, एक ब्राउज़र प्रीसेट द्वारा चयनित। इसकी सीमा भी स्पष्ट है, क्योंकि यह कोई जावास्क्रिप्ट नहीं चलाता और एक क्लाइंट-रेंडर की गई पेज का खाली शेल लौटाता है। उन फिंगरप्रिंट को फिर से पढ़ें जो स्थिर हैं, httpcloak का उपयोग करें जहां हस्ताक्षर दीवार है, और Scrapeless को वह पृष्ठ सौंपें जब इसे रेंडरिंग, एक साफ चुनौती, या एक ताज़ा IP की आवश्यकता हो। ऊपर दिए गए स्क्रिप्ट से शुरू करें और सामने जो जांच है, उसके लिए उपकरण का मेल करें।

रेंडर किए गए पृष्ठों के लिए Scrapeless मुफ्त योजना के साथ शुरू करें और Scrapeless मूल्य निर्धारण देखें जब आप एक बार-बार काम का आकार संवाद करते हैं।

सामान्य प्रश्न

Q: httpcloak कौन-कौन से परतों को अनुकरण करता है?

httpcloak TLS परत (JA3 और JA4), HTTP/2 परत (SETTINGS फ्रेम, विंडो आकार, और प्राथमिकताएं), HTTP/3, और TCP विकल्पों पर एक ब्राउज़र फिंगरप्रिंट को पुन: पेश करता है। एक TLS-केवल क्लाइंट इनमें से केवल पहले को ठीक करता है, जबकि httpcloak हर परत को एक मल्टी-लेयर डिटेक्टर जांच मैच एक ही ब्राउज़र बनाता है।

Q: JA3 हैश में चलनों के बीच बदलाव क्यों होता है लेकिन JA4 नहीं होता?

JA3 उन GREASE मानों को शामिल करता है जिन्हें ब्राउज़र TLS ClientHello में यादृच्छिक बनाते हैं, इसलिए यह हर कनेक्शन में बदलता है। JA4 उन GREASE मानों को वर्गीकृत और बाहर करता है, इसलिए यह एक ही क्लाइंट के लिए स्थिर रहता है, और HTTP/2 फिंगरप्रिंट ठीक फ्रेमों से आता है, इसलिए यह भी स्थिर है। एक परिवर्तनशील JA3 के साथ एक स्थिर JA4 अपेक्षित है, यह कोई विफलता नहीं है।

Q: क्या httpcloak एक जावास्क्रिप्ट द्वारा प्रस्तुत पृष्ठ को स्क्रैप कर सकता है?

नहीं। httpcloak में कोई जावास्क्रिप्ट इंजन नहीं है, इसलिए एक क्लाइंट-रेंडर की गई पृष्ठ पर यह 200 स्थिति के साथ प्रारंभिक HTML शेल लौटाता है और रेंडर की गई सामग्री में से कोई भी नहीं। उन पृष्ठों के लिए रेंडरिंग उपकरण जैसे Scrapeless का उपयोग करें, और httpcloak को उनके अंत बिंदुओं के लिए रखें जिनकी सामग्री पहले से प्रतिक्रिया में है।

Q: मुझे अनुकरण करने के लिए ब्राउज़र कैसे चुनना चाहिए?

preset तर्क को एक शिप किए गए ब्राउज़र नाम के साथ पास करें, जैसे chrome-146, firefox-133, या safari-18। प्रीसेट प्रत्येक परत में एक साथ फिंगरप्रिंट सेट करता है, इसलिए एक ब्राउज़र से दूसरे में स्विच करना एक तर्क को बदलने के बजाय प्रति-परत कॉन्फ़िगरेशन है।

Q: क्या एक नेटवर्क फिंगरप्रिंट बाधा से बचने के लिए पर्याप्त है?
यहFingerprint जाँच के लिए पर्याप्त है और कुछ नहीं। जावास्क्रिप्ट चुनौतियाँ, व्यवहारात्मक विश्लेषण, और आईपी प्रतिष्ठा ऐसे अलग-अलग सुरक्षा उपाय हैं जिन्हें httpcloak संबोधित नहीं करता, इसलिए जब वे मौजूद होते हैं, तो आपको फिंगरप्रिंट के ऊपर रेंडरिंग, चुनौती प्रबंधन, या प्रॉक्सी रोटेशन की आवश्यकता होती है।

स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।

सबसे लोकप्रिय लेख

सूची