Checkbox
Invisible
npm install axios
npm install cheerio
const axios = require('axios');
async function getPageData(url) {
try {
const data = await axios.get(url)
return data.data;
} catch (e) {
console.error('getPageData error', e.message);
return null;
}
}
getPageData('https://www.google.com/recaptcha/api2/demo');
const cheerio = require('cheerio');
function parserData(html) {
try {
const $ = cheerio.load(html);
return $('[data-sitekey]').data('sitekey')
} catch (e) {
console.error('parserData error', e.message);
return null;
}
}
const axios = require('axios');
async function createCaptchaTask(url, siteKey, isInvisible) {
try {
const data = await axios.post('https://api.nextcaptcha.com/createTask', {
"clientKey": "clientKey", // clientKey from NextCaptcha dashboard
"task": {
type: "RecaptchaV2TaskProxyless",
websiteURL: url,
websiteKey: siteKey,
isInvisible
}
});
return data.data;
} catch (e) {
console.error('createCaptchaTask error', e.message);
return null;
}
}
const axios = require('axios');
async function sleep(time = 500) {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, time)
})
}
async function getTaskResult(taskId) {
try {
const data = await axios.post('https://api.nextcaptcha.com/getTaskResult', {
"clientKey": "clientKey", // clientKey from NextCaptcha
taskId
});
if (data.data.status === 'processing') {
await sleep();
return getTaskResult(taskId)
} else {
console.error('createCaptchaTask errorCode', data.data.errorCode);
console.error('createCaptchaTask errorDescription', data.data.errorDescription);
return null;
}
} catch (e) {
console.error('createCaptchaTask error', e.message);
return null;
}
}
const axios = require('axios');
const cheerio = require('cheerio');
async function getPageData(url) {
try {
const data = await axios.get(url)
return data.data;
} catch (e) {
console.error('getPageData error', e.message);
return null;
}
}
function parserData(html) {
try {
const $ = cheerio.load(html);
return $('[data-sitekey]').data('sitekey')
} catch (e) {
console.error('parserData error', e.message);
return null;
}
}
async function createCaptchaTask(url, siteKey, isInvisible) {
try {
const data = await axios.post('https://api.nextcaptcha.com/createTask', {
"clientKey": "clientKey", // clientKey from NextCaptcha dashboard
"task": {
type: "RecaptchaV2TaskProxyless",
websiteURL: url,
websiteKey: siteKey,
isInvisible
}
});
return data.data;
} catch (e) {
console.error('createCaptchaTask error', e.message);
return null;
}
}
async function sleep(time = 500) {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, time)
})
}
async function getTaskResult(taskId, tryTimes = 60) {
try {
const data = await axios.post('https://api.nextcaptcha.com/getTaskResult', {
"clientKey": "clientKey", // clientKey from NextCaptcha
taskId
});
if (data.data.status === 'ready') {
return data.data;
} else if (data.data.status === 'processing' && tryTimes >= 0) {
await sleep();
return getTaskResult(taskId)
} else {
if (tryTimes < 0) {
console.error('getTaskResult out of time');
} else {
console.error('getTaskResult errorCode', data.data.errorCode);
console.error('getTaskResult errorDescription', data.data.errorDescription);
}
return null;
}
} catch (e) {
console.error('getTaskResult error', e.message);
return null;
}
}
async function mian() {
const url = 'https://www.google.com/recaptcha/api2/demo'
const html = await getPageData(url);
const sitekey = parserData(html);
console.log(sitekey)
const task = await createCaptchaTask(url, sitekey, false);
const result = await getTaskResult(task.taskId);
console.log(result)
}
mian()