Cloudflare Turnstile ایک checkbox جیسا لگتا ہے، مگر یہ پرانے معنوں میں CAPTCHA نہیں — عام طور پر حل کرنے کو کچھ ہوتا ہی نہیں۔ یہ آپ کے browser میں چند سو ملی سیکنڈ کا JavaScript چلاتا ہے، اندازہ لگاتا ہے کہ وہ browser کتنا حقیقی لگتا ہے، اور ایک token جاری کرتا ہے۔ اگر آپ کا scraper اس JS کو قائل کن انداز میں نہ چلا سکے، تو آپ کو کبھی درست token نہیں ملتا، اور ہر وہ request جسے اس کی ضرورت ہو، challenge بن کر واپس آتی ہے۔
یہی وجہ ہے کہ معمول کے scraping حل Turnstile کے لیے کچھ نہیں کرتے۔ proxies کو گھمانا، headers سیٹ کرنا، حتیٰ کہ ایک بہترین browser TLS fingerprint بھیجنا — اگر JavaScript challenge کبھی چلتا ہی نہیں تو ان میں سے کسی کا کوئی فرق نہیں پڑتا۔ یہ گائیڈ بتاتی ہے کہ Turnstile اصل میں کیا ناپتا ہے اور 2026 میں اس سے گزرنے کے حقیقت پسندانہ طریقے کیا ہیں۔
Turnstile ایک "browser کا ثبوت" ہے، "انسان کا ثبوت" نہیں۔ جب widget لوڈ ہوتا ہے تو یہ خاموشی سے چیکس کی ایک لڑی چلاتا ہے اور انہیں ایک score میں ڈالتا ہے:
requests، httpx، curl) سرے سے کوئی token پیدا نہیں کر سکتا۔navigator.webdriver، CDP artifacts، غائب یا جعلی plugins، اور وہ CDP/headless signals جو واضح flags patch کرنے کے بعد بھی باقی رہتے ہیں۔آپ کو جو token ملتا ہے وہ آپ کے IP اور ایک مختصر وقتی کھڑکی سے بندھا ہوتا ہے۔ چنانچہ کہیں اور سے "ادھار لیا گیا" درست token بھی ناکام ہو جاتا ہے اگر آپ پھر اسے کسی مختلف exit سے استعمال کریں۔
Proxies ان signals میں سے بالکل ایک کو ہلاتے ہیں: IP reputation۔ یہ اہم ہے — ایک صاف رہائشی ASN ایک سرحدی score کو لکیر کے اوپر اٹھا سکتا ہے — مگر یہ token نہیں بنا سکتا۔ اگر آپ Turnstile کو HTTP client سے ہٹ کر رہے ہیں، تو کوئی proxy اسے ٹھیک نہیں کرتا، کیونکہ challenge چلانے کے لیے کوئی browser ہے ہی نہیں۔ proxy ضروری ہے مگر کافی نہیں۔
سب سے قابلِ اعتماد راستہ یہ ہے کہ challenge کو واقعی ایک حقیقی، اچھے بھیس میں چھپے browser میں چلایا جائے — anti-detection patches کے ساتھ Playwright یا Puppeteer، یا ایک stealth پر مبنی browser۔ token قدرتی طور پر، آپ کے IP پر، ایک حقیقی ماحول میں پیدا ہوتا ہے:
from playwright.sync_api import sync_playwright
proxy = {"server": "socks5h://us.jibaoproxy.com:913",
"username": "USERNAME", "password": "PASSWORD"}
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, proxy=proxy)
page = browser.new_page()
page.goto("https://target.site")
page.wait_for_timeout(4000) # let Turnstile run and settle
# the cf token is now in the form; submit / read it as the site expects
token = page.eval_on_selector(
"input[name='cf-turnstile-response']", "el => el.value")
print("token:", token[:20], "...")
browser.close()
headful چلائیں (یا ایک حقیقی headless build)، browser environment کو مستقل رکھیں، اور اسے ایک رہائشی exit کے ذریعے route کریں تاکہ IP score browser score سے متفق ہو۔ دونوں کا ملنا ضروری ہے — ایک datacenter IP پر بہترین browser پھر بھی کم score پاتا ہے۔
2Captcha، CapSolver اور دیگر جیسی services آپ کے لیے challenge چلائیں گی اور API کے ذریعے ایک token واپس کریں گی۔ یہ پیمانے پر مفید ہیں، مگر دو ایسے پیچ کے ساتھ جو لوگوں کو پھنسا دیتے ہیں:
Turnstile عام طور پر ایک غیر تعاملی "managed" mode میں چلتا ہے: اگر آپ کا score کافی بلند ہو، تو یہ بغیر کسی checkbox اور بغیر کسی رکاوٹ کے ایک token جاری کرتا ہے۔ سب سے سستا "bypass" اکثر یہی ہوتا ہے کہ بس اتنے حقیقی نظر آئیں کہ آپ کو کبھی challenge نہ ملے — ایک صاف browser fingerprint اور اچھی ASN reputation والا رہائشی IP۔ score کو threshold سے اوپر لے جائیں اور Turnstile آپ کو خاموشی سے گزار دے گا۔
navigator.webdriver اور CDP کے آثار patch کریں، ورنہ score کم رہتا ہے۔نئے صارفین کو سائن اپ پر 500MB ملتے ہیں، اس کے علاوہ پہلے ری چارج پر بونس۔ پیشکش محدود وقت کے لیے ہے۔