stealth_mode
Pintas sistem pengesanan bot dengan teknik anti-pengesanan lanjutan termasuk rawakan cap jari, simulasi gelagat manusia dan konfigurasi pelayar senyap.
Kes Penggunaan
Tapak E-dagang Terlindung
Scrape data produk daripada tapak dengan perlindungan Cloudflare, DataDome atau PerimeterX
Platform Media Sosial
Ekstrak data awam daripada platform dengan pengesanan bot yang canggih
Tapak Data Kewangan
Akses data pasaran, harga saham dan maklumat kewangan daripada sumber terlindung
API Berhad Kadar
Pintas penghadan kadar agresif dengan putaran cap jari
Kandungan Disekat Geografi
Akses kandungan terhad rantau dengan sokongan proksi kediaman
Pengujian Keselamatan Tinggi
Uji sistem anti-bot anda sendiri dengan teknik pengelakan lanjutan
Endpoint
/api/v1/tools/stealth_modeParameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
operation | string | Optional | configure | Operasi senyap untuk dilaksanakan: scrape, configure, enable, disable, create_context, create_page, get_stats, atau cleanup. `scrape` ialah laluan satu panggilan — ia mencipta konteks senyap, menavigasi ke `url`, memulangkan `formats` yang diminta, dan meruntuhkan konteks itu, semuanya dalam satu panggilan yang dicaj. Urutan create_context → create_page → cleanup kekal untuk kerja berbilang langkah yang perlu menggunakan semula satu konteks. Example: create_context |
stealthConfig | object | Optional | - | Pilihan senyap terperinci. Kunci: level (basic | medium | advanced, lalai medium), randomizeFingerprint, hideWebDriver, blockWebRTC, spoofTimezone, randomizeHeaders, useRandomUserAgent, simulateHumanBehavior (semua boolean, lalai true), customUserAgent, customViewport ({ width 800-1920, height 600-1080 }), locale (lalai "en-US"), dan timezone. Example: {"level": "advanced", "blockWebRTC": true} |
engine | string | Optional | playwright | Enjin pelayar: "playwright" (lalai) atau "camoufox" (berasaskan Firefox, anti-pengesanan lebih kukuh; tersedia hanya di tempat ia dipasang pada backend). Example: camoufox |
contextId | string | Optional | - | ID konteks pelayar yang dikembalikan oleh panggilan create_context. Hantar ia ke create_page untuk membuka halaman dalam konteks senyap tersebut. Example: ctx_ab12cd34ef56 |
urlToTest | string | Optional | - | URL untuk dinavigasi semasa membuat halaman dengan create_page. Example: https://protected-site.com |
url | string | Optional | - | URL untuk di-scrape. Diperlukan untuk `operation: "scrape"` dan diabaikan oleh operasi lain, yang menggunakan `urlToTest` sebaliknya. Example: https://protected-site.com/product/42 |
formats | array | Optional | ["markdown"] | Format yang dipulangkan oleh `operation: "scrape"`: `markdown`, `html`, `text`, `links`, `metadata`, atau `screenshot`. Tangkapan skrin dipulangkan sebagai URI sumber `crawlforge://screenshot/{id}` dan bukan base64 sebaris, dan titik akhir REST ini menyalurkan URI itu tanpa menyelesaikannya, jadi buat masa ini `screenshot` hanya boleh digunakan daripada pelayan MCP CrawlForge yang mampu membaca sumber tersebut. Example: ["markdown", "links"] |
wait_for | number | Optional | - | Tempoh menunggu tambahan selepas halaman dimuatkan, dalam milisaat (0-30000). Gunakannya untuk kandungan yang dipaparkan selepas DOMContentLoaded — larian senyap sudah pun berhenti seketika seperti manusia, jadi mulakan dengan nilai kecil. Example: 2000 |
verbose | boolean | Optional | false | Pulangkan cap jari penuh yang dijana oleh create_context dan bukan ringkasan. Berguna semasa menyahpepijat sebab sasaran masih mengesan pelayar. Example: false |
respect_robots | boolean | Optional | true | Hormati robots.txt tapak sasaran. Jika ditinggalkan, nilai lalai yang patuh (`true`) terpakai: URL yang dilarang untuk `CrawlForge` ditolak sebelum sebarang pelayar dilancarkan dan titik akhir ini tidak mengenakan sebarang caj untuknya, dan setiap navigasi diperiksa dengan cara yang sama. Peraturan itu dipadankan dengan token produk `CrawlForge` walaupun pelayar senyap memaparkan User-Agent yang dirawakkan, jadi arahan `User-agent: CrawlForge` daripada pemilik tapak turut mengikat trafik senyap. Tetapkan kepada `false` hanya untuk sasaran yang anda mempunyai perjanjian sendiri dengannya — respons kemudiannya membawa entri `warnings` dan tindakan mengatasi itu direkodkan pada API key anda. Example: true |
Operasi dan kosnya
5 credits membayar kerja pelayar; operasi pentadbiran berharga 1 credit setiap satu. Jadi scrape satu panggilan berharga 5 credits, manakala laluan create_context → create_page → cleanup berharga 11.
url, memulangkan formats yang diminta bersama tajuk halaman dan URL akhir, lalu meruntuhkan konteks itu. Mulakan di sini.contextId-nya. Gunakannya apabila beberapa halaman perlu berkongsi satu cap jari dan satu simpanan kuki.urlToTest di dalam contextId sedia ada. Halaman ditutup apabila panggilan selesai; konteks kekal.Apa yang mod senyap tidak lakukan
CrawlForge. Jika sasaran masih menolak, jawapannya ialah API yang berdokumentasi atau kebenaran pemilik tapak, bukan tahap senyap yang lebih tinggi.Pemilihan enjin
stealth_mode menyokong dua enjin pelayar asas. Pilih berdasarkan kesukaran pengesanan tapak sasaran anda.
Contoh enjin
curl -X POST https://crawlforge.dev/api/v1/tools/stealth_mode \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "create_context",
"engine": "camoufox",
"stealthConfig": {
"level": "advanced"
}
}'Tahap Senyap
Contoh Permintaan
# 1. Create a stealth browser context
curl -X POST https://crawlforge.dev/api/v1/tools/stealth_mode \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "create_context",
"engine": "playwright",
"stealthConfig": {
"level": "advanced",
"randomizeFingerprint": true,
"blockWebRTC": true
}
}'
# 2. Open a page in that context (use the contextId from step 1)
curl -X POST https://crawlforge.dev/api/v1/tools/stealth_mode \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "create_page",
"contextId": "ctx_ab12cd34ef56",
"urlToTest": "https://protected-site.com"
}'Contoh Respons
{ "success": true, "data": { "operation": "create_context", "contextId": "ctx_ab12cd34ef56", "engine": "playwright", "stealthConfig": { "level": "advanced", "randomizeFingerprint": true, "hideWebDriver": true, "blockWebRTC": true, "spoofTimezone": true, "locale": "en-US" }, "message": "Stealth context created" }, "credits_used": 5, "credits_remaining": 995, "processing_time": 1200}data.contextIdHantar ia ke create_page untuk membuka halaman dalam konteks senyap inidata.operationOperasi senyap yang telah dilaksanakandata.stealthConfigKonfigurasi senyap terlerai yang digunakan pada kontekscredits_used5 credits untuk kerja pelayar (scrape, create_context, create_page); 1 credit untuk operasi pentadbiranprocessing_timeMasa untuk memulakan konteks senyap (ms)Pengendalian Ralat
Runtime pelayar tidak dikonfigurasikan (503 TOOL_NOT_AVAILABLE)
Mod senyap memerlukan runtime pelayar. Apabila bahagian belakang pelaksanaan terhos tidak dikonfigurasikan, panggilan memulangkan 503 serta-merta dan tiada credits dicaj.
Had kadar dilampaui (429 Too Many Requests)
Anda telah melampaui had kadar pelan anda. Tunggu sebentar atau naik taraf pelan anda untuk had yang lebih tinggi.
Operasi Tidak Sah (400 Bad Request)
Operasi mestilah salah satu daripada: scrape, configure, enable, disable, create_context, create_page, get_stats, atau cleanup.
Bahagian belakang pelaksanaan tamat masa (504 MCP_UPSTREAM_TIMEOUT)
Sasaran tidak selesai dimuatkan dalam bajet masa bahagian belakang pelaksanaan. Laman yang dilindungi ketat ialah punca lazim. Kegagalan tidak dicaj.
Disekat oleh robots.txt (502 TOOL_ERROR)
robots.txt sasaran melarang URL ini untuk CrawlForge, jadi tiada pelayar dilancarkan dan tiada apa-apa dicaj. Tetapkan respect_robots: false untuk mengatasinya jika anda mempunyai perjanjian sendiri dengan sasaran — tindakan mengatasi itu direkodkan pada API key anda. Tindakan mengatasi itu tidak sampai kepada hos yang berada dalam senarai penarikan diri kekal CrawlForge, yang ditolak tanpa mengira nilai respect_robots.
Kos Credit
scrape, create_context, atau create_page — tidak kira tahap senyap. Operasi pentadbiran configure, enable, disable, get_stats dan cleanup tidak melayari apa-apa dan berharga 1 credit setiap satu, jadi scrape satu panggilan berharga 5 credits keseluruhannya.Apa yang Disertakan:
Rawakan cap jari (semua tahap)
Simulasi gelagat manusia
Teknik anti-pengesanan
Pengelakan pengesanan WebDriver (medium+)
Penyamaran Canvas/WebGL (medium+)
Pengecaman cap jari TLS lanjutan (advanced)
Cadangan Pelan:
Pelan Free: 1,000 credits percubaan sekali sahaja = 200 permintaan senyap
Pelan Hobby: 5,000 credits = 1,000 permintaan senyap ($19/mo)
Pelan Professional: 50,000 credits = 10,000 permintaan senyap ($99/mo)