CaptchaAPI

Example

Download Demo

PHP

<?php
// Function to get CAPTCHA from API server using Fetch
function getCAPTCHA() {
    $url = 'https://captcha.i-as.dev/api/captcha/generate';
    $options = array(
        'http' => array(
            'method' => 'GET',
            'header' => 'Content-Type: application/json',
        ),
    );
    $context = stream_context_create($options);
    $response = file_get_contents($url, false, $context);

    if ($response !== false) {
        return json_decode($response, true);
    } else {
        return null;
    }
}

// Function to verify CAPTCHA using Fetch
function verifyCAPTCHA($captcha_id, $user_answer) {
    $url = 'https://captcha.i-as.dev/api/captcha/verify';
    $verify_data = json_encode(array(
        "id" => $captcha_id,
        "answer" => $user_answer
    ));

    $options = array(
        'http' => array(
            'method' => 'POST',
            'header' => 'Content-Type: application/json',
            'content' => $verify_data
        ),
    );
    $context = stream_context_create($options);
    $verify_response = file_get_contents($url, false, $context);

    if ($verify_response !== false) {
        return json_decode($verify_response, true);
    } else {
        return null;
    }
}

Javascript

// Function to generate CAPTCHA
function generateCaptcha() {
    return fetch('https://captcha.i-as.dev/api/captcha/generate')
        .then(function(response) {
            if (!response.ok) {
                throw new Error('Failed to generate CAPTCHA');
            }
            return response.json();
        })
        .then(function(data) {
            return data;
        })
        .catch(function(error) {
            console.error('Error generating CAPTCHA:', error);
            throw error;
        });
}

// Function to verify CAPTCHA
function verifyCaptcha(id, answer) {
    var url = 'https://captcha.i-as.dev/api/captcha/verify';
    var body = {
        id: id,
        answer: answer
    };

    return fetch(url, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(body)
    })
    .then(function(response) {
        if (!response.ok) {
            throw new Error('Failed to verify CAPTCHA');
        }
        return response.json();
    })
    .then(function(data) {
        return data;
    })
    .catch(function(error) {
        console.error('Error verifying CAPTCHA:', error);
        throw error;
    });
}

Python

# Function to generate CAPTCHA
def generate_captcha():
    try:
        response = requests.get('https://captcha.i-as.dev/api/captcha/generate')
        response.raise_for_status()
        data = response.json()
        return data
    except requests.exceptions.RequestException as e:
        print(f'Error generating CAPTCHA: {e}')
        raise

# Function to verify CAPTCHA
def verify_captcha(captcha_id, answer):
    url = 'https://captcha.i-as.dev/api/captcha/verify'
    body = {
        'id': captcha_id,
        'answer': answer
    }

    try:
        response = requests.post(url, json=body)
        response.raise_for_status()
        data = response.json()
        return data.get('success', False)
    except requests.exceptions.RequestException as e:
        print(f'Error verifying CAPTCHA: {e}')
        raise

C++

# Function to generate CAPTCHA
void generateCaptcha() {
    http_client client(U("https://captcha.i-as.dev/api/captcha/generate"));

    client.request(methods::GET)
        .then([](http_response response) {
            if (response.status_code() == status_codes::OK) {
                return response.extract_json();
            }
            throw std::runtime_error("Failed to generate CAPTCHA");
        })
        .then([](json::value data) {
            utility::string_t id = data[U("id")].as_string();
            utility::string_t imageData = data[U("data")].as_string();

            // Handle CAPTCHA data
            std::cout << "CAPTCHA ID: " << id << std::endl;
            std::cout << "CAPTCHA Image Data: " << imageData << std::endl;
        })
        .then([](pplx::task<void> t) {
            try {
                t.get();
            } catch (const std::exception& e) {
                std::cerr << "Error generating CAPTCHA: " << e.what() << std::endl;
            }
        })
        .wait();
}

# Function to verify CAPTCHA
void verifyCaptcha(const std::string& id, const std::string& answer) {
    http_client client(U("https://captcha.i-as.dev/api/captcha/verify"));

    json::value body;
    body[U("id")] = json::value::string(utility::conversions::to_string_t(id));
    body[U("answer")] = json::value::string(utility::conversions::to_string_t(answer));

    client.request(methods::POST, U(""), body)
        .then([](http_response response) {
            if (response.status_code() == status_codes::OK) {
                return response.extract_json();
            }
            throw std::runtime_error("Failed to verify CAPTCHA");
        })
        .then([](json::value data) {
            bool success = data[U("success")].as_bool();
            std::cout << "CAPTCHA Verification Success: " << (success ? "true" : "false") << std::endl;
        })
        .then([](pplx::task<void> t) {
            try {
                t.get();
            } catch (const std::exception& e) {
                std::cerr << "Error verifying CAPTCHA: " << e.what() << std::endl;
            }
        })
        .wait();
}