होम दस्तावेज़ ट्यूटोरिअल साइन इन करें
सपोर्टेड टास्क टाइप
API विधियाँ
आर्टिकल
ट्यूटोरिअल
GitHub
दस्तावेज़ मेन्यू

एंटी-बॉट स्क्रीन बायपास

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

एंटी-बॉट स्क्रीन उदाहरण

हम अंतिम पृष्ठ पर क्या लेते हैं:

  • कुकीज़
  • ब्राउज़र फ़िंगरप्रिंट
  • मुख्य विंडो फ़्रेम से किए गए अंतिम HTTP अनुरोध के शीर्षलेख

यह तकनीक हमारे एंटीगेट टेम्पलेट्स पर बनी है, सिवाय इसके कि हम स्वयं टेम्प्लेट प्रबंधित करते हैं और उन्हें अपडेट रखते हैं। इस प्रकार के कार्य का उपयोग करने के लिए प्रत्येक कार्य के लिए 5 क्रेडिट की लागत के साथ एक अंशदान की आवश्यकता होगी। सब्सक्रिप्शन की कीमत $9.90 प्रति माह से शुरू होती है जिसमें 5,000 बायपास शामिल हैं। यदि आप एक खरीदना पसंद नहीं करते हैं, तो आप इस ट्यूटोरियल का उपयोग करके स्वयं एक टेम्पलेट बना सकते हैं और प्रति कार्य लगभग $0.002 की लागत पर अपनी शेष राशि से भुगतान करना जारी रख सकते हैं।

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

केवल उच्च गुणवत्ता वाले प्रॉक्सी स्वीकार किए जाते हैं, कोई होस्टनाम नहीं, कोई "आवासीय प्रॉक्सी", कोई साझा प्रॉक्सी पूल नहीं। संयुक्त राज्य अमेरिका/यूरोप में VPS किराए पर लेना और हमारे निर्देश के साथ SQUID सर्वर स्थापित करना हमेशा काम करेगा। कार्य निष्पादन से पहले गति और अनुकूलता के लिए प्रॉक्सी की जाँच की जाती है। उनके पास 1 सेकंड से कम तेज़ प्रतिक्रिया समय होना चाहिए, अन्यथा कर्मचारी आपके कार्यों को रद्द कर देंगे।

जांचें कि क्या किसी वेबसाइट ने एंटी-बॉट स्क्रीन का समर्थन किया है:

ध्यान दें कि कुछ एंटी-बॉट स्क्रीन SSL handshake fingerprinting जैसी उन्नत फ़िंगरप्रिंटिंग तकनीकों का उपयोग कर रही हैं, जो यह पहचान सकती हैं कि किस प्रकार का एसएसएल/टीएलएस क्लाइंट वेबसाइट से कनेक्ट हो रहा है। उदाहरण के लिए, क्रोम ब्राउज़र में एक फ़िंगरप्रिंट, फ़ायरफ़ॉक्स दूसरा और CURL एक पूरी तरह से अलग है। उपयोगकर्ता-एजेंट के साथ स्वयं को भ्रमित न करें, यह निम्न स्तर पर कुछ है। इस मामले में हमारी सेवा का उपयोग करने के लिए, आपको हमारे कार्यकर्ता के सत्र का पुनर्निर्माण करने के लिए उसी ब्राउज़र उदाहरण का उपयोग करने की आवश्यकता होगी। जैसा कि हमारे अधिकांश कर्मचारी क्रोम ब्राउज़र का उपयोग कर रहे हैं, NodeJS+Puppeteer+Chromium या Selenium+Chromedriver का एक बंडल काम करेगा। उदाहरण शामिल हैं।

टास्क ऑब्जेक्ट

प्रॉपर्टी टाइप आवश्यक लक्ष्य
type स्ट्रिंग हाँ AntiBotCookieTask
websiteURL स्ट्रिंग हाँ उस लक्षित वेब पेज का पता, जहाँ हमारा कर्मचारी नेविगेट करके जाएगा।
proxyAddress स्ट्रिंग हाँ प्रॉक्सी IP पता ipv4/ipv6. लोकल नेटवर्कों वाले कोई होस्ट नेम या IP पते मौजूद नहीं हैं।
proxyPort इन्टिजर हाँ प्रॉक्सी पोर्ट
proxyLogin स्ट्रिंग हाँ प्रॉक्सी वाला लॉगइन, जिसके लिए ऑथरायज़ेशन (बेसिक) आवश्यक होती है
proxyPassword स्ट्रिंग हाँ प्रॉक्सी पासवर्ड

अनुरोध का उदाहरण

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"AntiBotCookieTask",
            "websiteURL":"https://somewebsite.com/",
            "proxyAddress":"8.8.8.8",
            "proxyPort":8080,
            "proxyLogin":"proxyLoginHere",
            "proxyPassword":"proxyPasswordHere"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git

include("anticaptcha.php");
include("antibotcookie.php");

$api = new AntiBotCookie();
$api->setVerboseMode(true);

//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");

//target website address
$api->setWebsiteURL("https://somewebsite.com/");

//proxy access parameters
// DO NOT USE PURCHASED/RENTED PROXIES ON PROXY SERVICES!!!
// THEY WILL NOT WORK!
// USE ONLY PROXIES YOU INSTALL YOURSELF ON YOUR OWN SERVER OR FAST VPS
// USE PROPER PROXY SOFTWARE LIKE SQUID !
// INSTALLATION INSTRUCTIONS:
// https://anti-captcha.com/apidoc/articles/how-to-install-squid
$api->setProxyAddress("8.8.8.8");
$api->setProxyPort(1234);
//optional login and password
$api->setProxyLogin("login");
$api->setProxyPassword("password");

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
$api->setSoftId(0);

//create task in API
if (!$api->createTask()) {
    $api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
    return false;
}

$taskId = $api->getTaskId();

//wait in a loop for max 300 seconds till task is solved
if (!$api->waitForResult(300)) {
    echo "could not solve captcha\n";
    echo $api->getErrorMessage()."\n";
} else {

    $result    =   $api->getTaskSolution();
    echo "\nTask result:\n";
    print_r($result);

    $assoc = json_decode(json_encode($api->getTaskSolution()), true);
    $userAgent = $assoc['fingerprint']['self.navigator.userAgent'];

    $cookies = [];
    foreach ($assoc["cookies"] as $name => $value) {
        $cookies[] = $name . "=" . $value;
    }
    $cookieStr = implode("; ", $cookies);

    echo "Use this User-Agent for your requests: $userAgent\n";
    echo "Use this cookies for your requests: $cookieStr\n";

    //example, may need to pass more headers with CURLOPT_HTTPHEADER:
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, "https://somewebsite.com/");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
    //set worker's user-agent
    curl_setopt($ch,CURLOPT_USERAGENT, $userAgent);
    //set cookies
    curl_setopt($ch,CURLOPT_HTTPHEADER, array(
        'Cookie: ' . $cookieStr
    ));
    //set your proxies
    curl_setopt($ch,CURLOPT_PROXY, "8.8.8.8:1234");
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, "login:password");
    //retrieve the content
    $content = curl_exec($ch);

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.antibotcookietask import *
import requests

solver = antibotcookieTask()
solver.set_verbose(1)
solver.set_key("API_KEY_HERE")
solver.set_website_url("https://www.somewebsite.com/")
solver.set_proxy_address("1.2.3.4")
solver.set_proxy_port(3128)
solver.set_proxy_login("login")
solver.set_proxy_password("password")

# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)

result = solver.solve_and_return_solution()
if result == 0:
    print("could not solve task")
    exit()

print(result)

cookies, localStorage, fingerprint = result["cookies"], result["localStorage"], result["fingerprint"]

if len(cookies) == 0:
    print("empty cookies, try again")
    exit()

cookie_string = '; '.join([f'{key}={value}' for key, value in cookies.items()])
user_agent = fingerprint['self.navigator.userAgent']
print(f"use these cookies for requests: {cookie_string}")
print(f"use this user-agent for requests: {user_agent}")

s = requests.Session()
proxies = {
  "http": "http://login:password@1.2.3.4:3128",
  "https": "http://login:password@1.2.3.4:3128"
}
s.proxies = proxies

content = s.get("https://www.somewebsite.com/", headers={
    "Cookie": cookie_string,
    "User-Agent": user_agent
}).text
print(content)
        
NodeJS
          //npm install @antiadmin/anticaptchaofficial
//https://github.com/AdminAnticaptcha/anticaptcha-npm

const ac = require("@antiadmin/anticaptchaofficial");

//set API key
ac.setAPIKey('YOUR_API_KEY_HERE');

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);

(async () => {

    let solution = null;
    try {
        solution = await anticaptcha.solveAntiBotCookieTask(
            checkUrl,
            proxyAddress,
            proxyPort,
            proxyLogin,
            proxyPassword);
    } catch (e) {
        console.error("could not solve captcha: "+e.toString());
        return;
    }

    const fingerPrint = solution.fingerprint;
    const targetCookies = joinCookies(solution.cookies);
    console.log(`joined cookies: ${targetCookies}`);
    console.log(`user-agent: ${fingerPrint['self.navigator.userAgent']}`);

    try {
        let responseText = await axios.request({
            url: checkUrl,
            httpsAgent: agent,
            headers: {
                'User-Agent': fingerPrint['self.navigator.userAgent'],
                'Cookie': targetCookies,
                'Accept-Encoding': 'deflate',
                'Accept': 'text/html',
                'Accept-Language': 'en'
            }
        });
        console.log(responseText.data);
    } catch (e) {
        console.error('Could not request page')
        console.log(e.toString());
    }

})();


function joinCookies(object) {
    let resultArray = [];
    for (const key in object) {
        resultArray.push(key+"="+object[key])
    }
    return resultArray.join("; ");
}
        
      
NodeJS with Puppeteer
          /*

npm install @antiadmin/anticaptchaofficial puppeteer

* */

const anticaptcha = require("@antiadmin/anticaptchaofficial");
const pup = require('puppeteer');

//address behind cloudflare
const checkUrl = 'https://www.thewebsite.com/';
const domainName = 'www.thewebsite.com';


//Anti-captcha.com API key
const apiKey = 'API_KEY_HERE';

// STOP! IMPORTANT! Shared proxy services won't work!
// Use ONLY self-installed proxies on your own infrastructure! Instruction: https://anti-captcha.com/apidoc/articles/how-to-install-squid
// Again and again people people insist they have best purchased proxies. NO YOU DO NOT!
// Absolutely recommended to read this FAQ about proxies: https://anti-captcha.com/faq/510_questions_about_solving_recaptcha_with_proxy__applies_to_funcaptcha__geetest__hcaptcha_


const proxyAddress = '1.2.3.4';
const proxyPort = 1234;
const proxyLogin = 'mylogin';
const proxyPassword = 'mypass';


let browser = null;
let page = null;


(async () => {

    anticaptcha.setAPIKey(apiKey);
    const balance = await anticaptcha.getBalance();
    if (balance <= 0) {
        console.log('Topup your anti-captcha.com balance!');
        return;
    } else {
        console.log('API key balance is '+balance+', continuing');
        // anticaptcha.shutUp(); //uncomment for silent captcha recognition
    }

    let antigateResult = null;
    try {
        antigateResult = await anticaptcha.solveAntiBotCookieTask(
            checkUrl,
            proxyAddress,
            proxyPort,
            proxyLogin,
            proxyPassword);
    } catch (e) {
        console.error("could not solve captcha: "+e.toString());
        return;
    }

    const fingerPrint = antigateResult.fingerprint;

    try {
        console.log('opening browser ..');


        let options = {
            headless: true, //disable to see the browser window
            devtools: false, //enable to see developers console
            args: [
                '--window-size='+fingerPrint['self.screen.width']+','+fingerPrint['self.screen.height'],
                `--proxy-server=${proxyAddress}:${proxyPort}`
            ],

        };
        browser = await pup.launch(options);

        console.log('creating new page ..');
        page = await browser.newPage();
    } catch (e) {
        console.log("could not open browser: "+e);
        return false;
    }

    if (proxyPassword && proxyLogin) {
        console.log(`setting proxy authentication ${proxyLogin}:${proxyPassword}`);
        await page.authenticate({
            username: proxyLogin,
            password: proxyPassword,
        });
    }

    //screen size
    console.log('setting view port to '+fingerPrint['self.screen.width']+'x'+fingerPrint['self.screen.height']);
    await page.setViewport({width: fingerPrint['self.screen.width'], height: fingerPrint['self.screen.height']});

    //user agent
    let userAgent = '';
    if (fingerPrint['self.navigator.userAgent']) {
        userAgent = fingerPrint['self.navigator.userAgent'];
    } else {
        if (fingerPrint['self.navigator.appVersion'] && fingerPrint['self.navigator.appCodeName']) {
            userAgent = fingerPrint['self.navigator.appCodeName'] + '/' + fingerPrint['self.navigator.appVersion']
        }
    }
    console.log('setting browser user agent to '+userAgent);
    await page.setUserAgent(userAgent);

    console.log('setting cookies', antigateResult.cookies);
    let cookies = [];
    for (const name in antigateResult.cookies) {
        cookies.push({ name: name, value: antigateResult.cookies[name], domain: domainName })
    }
    await page.setCookie(...cookies);

    try {
        await page.goto(antigateResult.url, {
            waitUntil: "networkidle0"
        });
    } catch (e) {
        console.log('err while loading the page: '+e);
    }

    const htmlContent = await page.content();
    console.log("page content:\n\n", htmlContent);


})();


      

रिस्पांस का उदाहरण

एरर-मुक्त JSON
          {
    "errorId": 0,
    "taskId": 7654321
}
        
एरर-युक्त JSON
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

सॉल्यूशन को पुनः प्राप्त करें

सॉल्यूशन का अनुरोध करने के लिए getTaskResult विधि का इस्तेमाल करें। अपना पहला अनुरोध करने से पहले कर्मचारी को थोड़ा वक़्त दें, जैसे लगभग 5 सेकंड का। अगर कर्मचारी इसके बाद भी बिज़ी दिखाई देता है तो कृपया 3 सेकंड में पुनः प्रयास करें।

टास्क सॉल्यूशन ऑब्जेक्ट

प्रॉपर्टी टाइप लक्ष्य
cookies ऑब्जेक्ट एंटी-बॉट स्क्रीन के पीछे के पेज से कुकीज़। उन सभी के साथ जुड़ें और अपने HTTP अनुरोधों में उपयोग करें।
localStorage ऑब्जेक्ट कूकीज़ की ही तरह, localStorage मूल्यों वाले किसी ऑब्जेक्ट को आख़िरी पेज पर पकड़ लिया गया।
fingerprint ऑब्जेक्ट ब्राउज़र फिंगरप्रिंट मानदंड। अपने सॉफ्टवेयर में कर्मचारी के ब्राउज़र सेशन को फ़िर से बनाने के लिए कूकीज़ और localStorage के साथ उनका उपयोग करें।
अपने HTTP अनुरोधों में उपयोगकर्ता-एजेंट के रूप में self.navigator.userAgent मान का उपयोग करें।
url स्ट्रिंग उस पेज का URL, जहाँ टेम्पलेट का क्रियान्वयन समाप्त हुआ था
lastRequestHeaders Array अंतिम अनुरोध हेडर जो वेब साइट पर ब्राउज़र के मुख्य विंडो फ्रेम से भेजे गए थे।

रिस्पांस का उदाहरण

एरर-मुक्त JSON
          {
    "errorId": 0,
    "status": "ready",
    "solution": {
        "cookies": {
            "some_antibotcookie": "0A8VO9NX5N1s4LRoS4sJlFTCNzLj0dEfA_2whUh0E6ZjgQtM~I1cV7U2IhQx0~jnowNjg-Oi76b-MjYPd1GQAmIxh5-v~33PI8F",
            "maybe_another_id": "join_all_cookies_together"
        },
        "localStorage": {
            "some_value": "Might be used too in the future as a method to 'remember' visitors, so we collect it too.",
            "what_is_it": "localStorage is a more complex analogue of cookies, allowing to store larger objects in browser memory"
        },
        "fingerprint": {
            "self.navigator.userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "self.screen.width": 1280,
            "self.screen.height": 768,
            "self.screen.availWidth": 1280,
            "self.screen.availHeight": 768,
            "self.screen.availLeft": 0,
            "self.screen.availTop": 25,
            "self.navigator.vendorSub": "",
            "self.navigator.productSub": "20030107",
            "self.navigator.vendor": "Google Inc.",
            "self.navigator.maxTouchPoints": 0,
            "self.navigator.hardwareConcurrency": 8,
            "self.navigator.cookieEnabled": true,
            "self.navigator.appCodeName": "Mozilla",
            "self.navigator.appName": "Netscape",
            "self.navigator.appVersion": "5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "self.navigator.platform": "MacIntel",
            "self.navigator.product": "Gecko",
            "self.navigator.language": "en-US",
            "self.navigator.onLine": true,
            "self.navigator.deviceMemory": 4
        },
        "url": "https://www.thewebsite.com/some/final/path/after_redirects",
        "lastRequestHeaders": [
            "sec-ch-device-memory: 8",
            "sec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\", \"Google Chrome\";v=\"101\"",
            "sec-ch-ua-mobile: ?0",
            "sec-ch-ua-arch: \"x86\"",
            "sec-ch-ua-platform: \"macOS\"",
            "sec-ch-ua-model: \"\"",
            "sec-ch-ua-full-version-list: \" Not A;Brand\";v=\"99.0.0.0\", \"Chromium\";v=\"101.0.5005.115\", \"Google Chrome\";v=\"101.0.5005.115\"",
            "Upgrade-Insecure-Requests: 1",
            "User-Agent: Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "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.9",
            "Sec-Fetch-Site: same-origin",
            "Sec-Fetch-Mode: navigate",
            "Sec-Fetch-Dest: document",
            "Referer: https:\/\/somewebsite.com\/",
            "Accept-Encoding: gzip, deflate, br",
            "Accept-Language: en-US,en;q=0.9",
            "Cookie: some_antibotcookie=0A8VO9NX5N1s4LRoS4sJlFTCNzLj0dEfA_2whUh0E6ZjgQtM~I1cV7U2IhQx0~jnowNjg-Oi76b-MjYPd1GQAmIxh5-v~33PI8F"
        ]
    },
    "cost": "0.00858",
    "ip": "5.25.11.114",
    "createTime": 1637841143,
    "endTime": 1637841189,
    "solveCount": 0
}