
Emma Foster
Machine Learning Engineer

क्लाउडफ़्लेयर त्रुटि 1020 यह इंगित करती है कि पहुंच अस्वीकृत कर दी गई है। यह त्रुटि क्लाउडफ़्लेयर द्वारा सुरक्षित वेबसाइट के फ़ायरवॉल के एक नियम के उल्लंघन के कारण उत्पन्न होती है। वेबसाइट पर अत्यधिक अनुरोध करने जैसी कई कार्यवाही इस उल्लंघन के कारण हो सकती हैं।
इस समस्या के समाधान के सामान्य तरीके:
क्लाउडफ़्लेयर त्रुटि 1015 तब होती है जब आपका आईपी पता वेबस्क्रैपिंग गतिविधियों के दौरान वेबसाइट की दर सीमा के अतिक्रमण के कारण क्लाउडफ़्लेयर द्वारा ब्लॉक कर दिया जाता है। इस त्रुटि का सामना कर सकते हैं।
इस समस्या के समाधान के सामान्य तरीके:
403 स्थिति कोड एक अस्वीकृत उत्तर स्थिति है, जो एक सर्वर द्वारा जारी किया जाता है जब यह एक अनुरोध को वैध मानता है लेकिन इसे पूरा नहीं करता है। इसका कारण आपके अनुरोध में आवश्यक हेडर्स की कमी हो सकती है, जैसे कि कॉर्स, जेटी, या प्राथमिकता हेडर्स जो सर्वर की अपेक्षा करता ह।
अगर वेबसाइट सामान्य रूप से उपलब्ध है और सही हेडर्स जोड़ने से समस्या हल नहीं होती है, तो संभवतः सर्वर आपके अनुरोधों को स्वचालित मान रहा है।
इस समस्या के समाधान के सामान्य तरीके:
अपना कैपसॉल्वर बोनस कोड जमा करें
अपने स्वचालन बजट को तुरंत बढ़ाएं!
कैपसॉल्वर खाता अपनाने पर CAPN बोनस कोड का उपयोग करें ताकि प्रत्येक भरोसे पर 5% का बोनस मिले — कोई सीमा नहीं।
कैपसॉल्वर डैशबोर्ड में अब जमा करें
.
क्लाउडफ़्लेयर चुनौती दिखती है:

कभी-कभी, इस पृष्ठ में टर्नस्टाइल भी हो सकता है

क्लाउडफ़्लेयर चुनौती 5s को हल करना आवश्यक है और केवल टर्नस्टाइल नहीं, केवल टर्नस्टाइल के लिए, कृपया इस ब्लॉग को आगे पढ़ें।
कैपसॉल्वर का उपयोग करके इस चुनौती के समाधान के लिए कुछ आवश्यकताएं हैं।
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "अपना API की",
"task": {
"type": "AntiCloudflareTask",
"websiteURL": "https://www.yourwebsite.com",
"proxy": "158.120.100.23:334:user:pass"
}
}
सही रूप से जमा करने के बाद, API एक taskId लौटाएगा
{
"errorId": 0,
"taskId": "014fc55c-46c9-41c8-9de7-6cb35d984edc",
"status": "idle"
}
इस taskId मान प्राप्त करें और getTaskResult विधि का उपयोग करके परिणाम प्राप्त करने के लिए इसका उपयोग करें
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "अपना API की",
"taskId": "taskId"
}
सिस्टम भार पर निर्भर करता है, आपको परिणाम 1s से 20s के अंतराल में मिलेंगे
अगर आपको उत्तर में ERROR_CAPTCHA_SOLVE_FAILED प्राप्त होता है, तो कई कारण हो सकते हैं:
अगर आपको सफलता उत्तर मिलता है, तो यह दिखेगा:
{
"errorId": 0,
"taskId": "d8d3a8b4-30cc-4b09-802a-a476ca17fa54",
"status": "ready",
"solution": {
"accept-language": "en-US,en;q=0.9",
"cookies": {
},
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"cache-control": "max-age=0",
"content-type": "application/x-www-form-urlencoded",
"origin": "",
"referer": "",
"sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
"sec-ch-ua-arch": "\"arm\"",
"sec-ch-ua-bitness": "\"64\"",
"sec-ch-ua-full-version": "\"120.0.6099.71\"",
"sec-ch-ua-full-version-list": "\"Not_A Brand\";v=\"8.0.0.0\", \"Chromium\";v=\"120.0.6099.71\", \"Google Chrome\";v=\"120.0.6099.71\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-model": "\"\"",
"sec-ch-ua-platform": "\"macOS\"",
"sec-ch-ua-platform-version": "\"10.14.6\"",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"proxy": "आपका प्रॉक्सी",
"token": "cf स्पष्टीकरण टोकन",
"type": "चुनौती",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
}
इस उत्तर से, आपको cookies, headers, token के मानों को पार्स करने की आवश्यकता होगी।
आपके अनुरोध को दिखना चाहिए:
cf_clearance कुकी मान होगा जिसकी आपको आवश्यकता होगी# -*- coding: utf-8 -*-
import requests
import time
import tls_client
# TODO: अपना API की
API_KEY = ""
proxy = ""
# TODO: अपना लक्ष्य साइट URL:
page_url = ''
def call_capsolver():
data = {
"clientKey": API_KEY,
"task": {
"type": 'AntiCloudflareTask',
"websiteURL": page_url,
"proxy": proxy,
}
}
uri = 'https://api.capsolver.com/createTask'
res = requests.post(uri, json=data)
resp = res.json()
task_id = resp.get('taskId')
if not task_id:
print("taskId नहीं मिला:", res.text)
return
print('taskId बनाया:', task_id)
while True:
time.sleep(1)
data = {
"clientKey": API_KEY,
"taskId": task_id
}
response = requests.post('https://api.capsolver.com/getTaskResult', json=data)
resp = response.json()
status = resp.get('status', '')
if status == "ready":
print("सफलतापूर्वक => ", response.text)
return resp.get('solution')
if status == "failed" or resp.get("errorId"):
print("असफल! => ", response.text)
return
def request_site(solution):
session = tls_client.Session(
client_identifier="chrome_120",
random_tls_extension_order=True
)
return session.get(
page_url,
headers=solution.get('headers'),
cookies=solution.get('cookies'),
proxy=proxy,
)
def main():
solution = {
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
}
}
# पहला अनुरोध (अपने प्रॉक्सी की जांच करें):
res = request_site(solution)
print('1. अनुरोध स्थिति कोड:', res.status_code)
if res.status_code != 403:
print("आपका प्रॉक्सी अच्छा है और क्लाउडफ़्लेयर चुनौती नहीं मिली")
return
elif 'window._cf_chl_opt' not in res.text:
print('==== प्रॉक्सी ब्लॉक कर दिया गया ==== ')
return
# कैपसॉल्वर कॉल करें:
solution = call_capsolver()
if not solution:
return
# दूसरा अनुरोध (हल की जांच करें):
res = request_site(solution)
print('2. अनुरोध स्थिति कोड:', res.status_code)
if __name__ == '__main__':
main()
क्लाउडफ़्लेयर टर्नस्टाइल कैपचा दिखता है:
प्रबंधित चुनौती

गैर-अंतःक्रिया चुनौती

अदृश्य चुनौती
अदृश्य, आप नेटवर्क / स्क्रिप्ट लोड करके देख सकते हैं कि टर्नस्टाइल का उपयोग किया जा रहा है
क्लाउडफ़्लेयर टर्नस्टाइल कैपचा को हल करना आवश्यक है और केवल क्लाउडफ़्लेयर चुनौती 5s नहीं, केवल क्लाउडफ़्लेयर चुनौती के लिए, कृपया इस ब्लॉग को आगे पढ़ें।
कैपसॉल्वर का उपयोग करके इस चुनौती के समाधान के लिए कुछ आवश्यकताएं हैं।
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "अपना API की",
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": "https://www.yourwebsite.com",
"websiteKey": "0x4XXXXXXXXXXXXXXXXX",
"metadata": {
"action": "लॉगिन", // वैकल्पिक
"cdata": "0000-1111-2222-3333-उदाहरण-cdata" // वैकल्पिक
}
}
}
"action" और "cdata" वैकल्पिक हैं, कभी-कभी आवश्यक हो सकते हैं और कभी-कभी नहीं।
वेबसाइट की व्यवस्था पर निर्भर करता है।
action टर्नस्टाइल तत्व के data-action लक्षण के मान है अगर यह मौजूद है।
cdata टर्नस्टाइल तत्व के data-cdata लक्षण के मान है अगर यह मौजूद है।
सही रूप से जमा करने के बाद, API एक taskId लौटाएगा
{
"errorId": 0,
"taskId": "014fc55c-46c9-41c8-9de7-6cb35d984edc",
"status": "idle"
}
इस taskId मान प्राप्त करें और getTaskResult विधि का उपयोग करके परिणाम प्राप्त करने के लिए इसका उपयोग करें
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "अपना API की",
"taskId": "taskId"
}
सिस्टम भार पर निर्भर करता है, आपको परिणाम 1s से 20s के अंतराल में मिलेंगे
अगर आपको उत्तर में ERROR_CAPTCHA_SOLVE_FAILED प्राप्त होता है, तो कई कारण हो सकते हैं:
अगर आपको सफलता उत्तर मिलता है, तो यह दिखेगा:
{
"errorId": 0,
"taskId": "d1e1487a-2cd8-4d4a-aa4d-4ba5b6c65484",
"status": "ready",
"solution": {
"token": "0.cZJPqwnyDxL86HvAXSk4lUTQhjwfyXDcR3qpVwFofuzosoKr1otKj_A-utazXx_Tnp1B2V6womrltBpRw9HbY851ktpaF7sBN-gQwtoRUew4Wj5PO4-WLYPnNRpXxludXzyQ.1oHJhu7619fb8c07ab942bd1587bc76e0e3cef95c7aa75400c4f7d3",
"type": "turnstile",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
}
इस उत्तर से, आपको token के मान को पार्स करने की आवश्यकता होगी और इसे वेबसाइट पर जमा करने के लिए आवश्यक कैपचा समाधान होगा।
import time
from curl_cffi import requests
CAPSOLVER_API_KEY = "आपका CAPSOLVER.COM API की"
PAGE_URL = ""
WEBSITE_KEY = ""
def solvecf(metadata_action=None, metadata_cdata=None):
url = "https://api.capsolver.com/createTask"
task = {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": PAGE_URL,
"websiteKey": WEBSITE_KEY,
}
if metadata_action or metadata_cdata:
task["metadata"] = {}
if metadata_action:
task["metadata"]["action"] = metadata_action
if metadata_cdata:
task["metadata"]["cdata"] = metadata_cdata
data = {
"clientKey": CAPSOLVER_API_KEY,
"task": task
}
response_data = requests.post(url, json=data).json()
print(response_data)
return response_data['taskId']
def solutionGet(taskId):
url = "https://api.capsolver.com/getTaskResult"
status = ""
while status != "ready":
data = {"clientKey": CAPSOLVER_API_KEY, "taskId": taskId}
response_data = requests.post(url, json=data).json()
print(response_data)
status = response_data.get('status', '')
print(status)
if status == "ready":
return response_data['solution']
time.sleep(2)
def main():
start_time = time.time()
taskId = solvecf()
solution = solutionGet(taskId)
if solution:
user_agent = solution['userAgent']
token = solution['token']
print("User_Agent:", user_agent)
print("टर्नस्टाइल कैप्चा हल कर लिया गया, टोकन:", token)
end_time = time.time()
elapsed_time = end_time - start_time
print(f"कैप्चा हल करने में लगा समय: {elapsed_time} सेकंड")
if __name__ == "__main__":
main()
const axios = require('axios');
const CAPSOLVER_API_KEY = "";
const PAGE_URL = "";
const WEBSITE_KEY = "";
async function solvecf(metadata_action = null, metadata_cdata = null) {
const url = "https://api.capsolver.com/createTask";
const task = {
type: "AntiTurnstileTaskProxyLess",
websiteURL: PAGE_URL,
websiteKey: WEBSITE_KEY,
};
if (metadata_action || metadata_cdata) {
task.metadata = {};
if (metadata_action) {
task.metadata.action = metadata_action;
}
if (metadata_cdata) {
task.metadata.cdata = metadata_cdata;
}
}
const data = {
clientKey: CAPSOLVER_API_KEY,
task: task
};
const response = await axios.post(url, data);
console.log(response.data);
return response.data.taskId;
}
async function solutionGet(taskId) {
const url = "https://api.capsolver.com/getTaskResult";
let status = "";
while (status !== "ready") {
const data = { clientKey: CAPSOLVER_API_KEY, taskId: taskId };
const response = await axios.post(url, data);
console.log(response.data);
status = response.data.status;
console.log(status);
if (status === "ready") {
return response.data.solution;
}
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
async function main() {
const start_time = Date.now();
const taskId = await solvecf();
const solution = await solutionGet(taskId);
if (solution) {
const user_agent = solution.userAgent;
const token = solution.token;
console.log("User_Agent:", user_agent);
console.log("टर्नस्टाइल कैप्चा हल कर लिया गया, टोकन:", token);
}
const end_time = Date.now();
const elapsed_time = (end_time - start_time) / 1000;
console.log(`कैप्चा हल करने में लगा समय: ${elapsed_time} सेकंड`);
}
main().catch(console.error);
क्लाउडफ़्लेयर विभिन्न सुरक्षा तंत्र प्रदान करता है — मानक HTTP ब्लॉक जैसे 1020, 403, 429 (1015) से लेकर अधिक उन्नत चुनौतियों जैसे क्लाउडफ़्लेयर चैलेंज 5s और टर्नस्टाइल कैप्चा तक। वेब स्क्रैपिंग या स्वचालन करते समय, सक्रिय सुरक्षा की पहचान करना पहला महत्वपूर्ण चरण है।
इस गाइड ने सामान्य क्लाउडफ़्लेयर स्थिति कोड, चैलेंज 5s और टर्नस्टाइल कैप्चा के बीच अंतर करने के तरीके, और कैप्सॉल्वर API के साथ हल करने के कार्यात्मक उदाहरण प्रदान किए, जिसमें पायथन और नोडजेएस के उदाहरण शामिल हैं।
सही दृष्टिकोण चुनकर — घूमते हुए प्रॉक्सी, सही हेडर, फिंगरप्रिंटिंग सुरक्षा, या कैप्चा/चैलेंज को स्वचालित रूप से हल करके — आप वेब स्क्रैपिंग की सफलता दर में बहुत बढ़ोतरी कर सकते हैं और ब्लॉक कम कर सकते हैं।
अगर आपके अनुरोध अभी भी ब्लॉक कर दिए जाते हैं, तो अपने स्क्रैपर सेटअप की समीक्षा करें: प्रॉक्सी की गुणवत्ता, हेडर, टीएलएस फिंगरप्रिंट, और अनुरोध आवृत्ति आमतौर पर कैप्चा सॉल्वर के साथ-साथ बहुत महत्वपूर्ण होती है।
UI या नेटवर्क में अनुरोध जांचें।
संभावित कारण:
हां। अच्छे प्रॉक्सी, घूमते हुए फिंगरप्रिंट और टोकन पुनर्उपयोग तकनीक के साथ, आप स्क्रैपिंग को पैमाने पर बढ़ा सकते हैं — वेबसाइट की शर्तों और स्थानीय कानूनी आवश्यकताओं के अनुपालन का ध्यान रखें।
टर्नस्टाइल आमतौर पर आसान होता है क्योंकि इसके परिणामस्वरूप एक टोकन आता है। चैलेंज 5s में कुकीज, हेडर और प्रॉक्सी संगतता की आवश्यकता होती है, जिसके कारण इसे अधिक जटिल बनाता है।
क्लाउडफ़्लेयर चैलेंज वर्सेस टर्नस्टाइल के मुख्य अंतर समझें और सफल वेब ऑटोमेशन के लिए उन्हें पहचानना सीखें। विशेषज्ञ सुझाव प्राप्त करें एवं एक सुझाए गए समाधानकर्ता।

जब वेब स्क्रैपिंग करते हैं तो क्लाउडफ़ेयर सुरक्षा कैसे हल करें। साबित विधियां जैसे कि IP परिवर्तन, TLS फिंगरप्रिंटिंग, और CapSolver की खोज करें।
