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();
}