MTCaptcha कैसे हल करें
ऊपर का box एक live है MTCaptcha widget। यह पेज MTCaptcha हल करने के दो तरीके दिखाता है, जिनसे मिलता है एक सत्यापित v1 token: अपने कोड से CapSkip HTTP API को कॉल करके, या आपके tools पहले से जिस captcha सेवा को कॉल करते हैं उसे CapSkip की ओर रूट करके। CapSkip एक असीमित MTCaptcha सॉल्वर है जो आपके डिवाइस पर लोकल रूप से चलता है, इसलिए कोई प्रति-हल शुल्क नहीं है और आपकी मशीन से कुछ भी बाहर नहीं जाता।
विकल्प 1: CapSkip HTTP API के साथ MTCaptcha हल करें
ऑटोमेशन, कोई स्क्रैपर या कोई बॉट बना रहे हैं? इस पेज की MTPublic site key और URL एक request में CapSkip ऐप को भेजें, नतीजे के लिए poll करें, और CapSkip एक सत्यापित MTCaptcha token लौटा देता है जिसे आप असली की तरह सबमिट कर सकते हैं। API मानक in.php / res.php एंडपॉइंट्स इस्तेमाल करता है, इसलिए यह इनसे काम करता है: Python, Node.js, PHP, C# या कोई भी अन्य भाषा जो HTTP कॉल कर सकती है।
MTPublic-C8YHBQqYE
https://capskip.com/hi/captcha-demo/mtcaptcha/
शुरू करने से पहले
CapSkip लोकल रूप से हल करता है। इसे डाउनलोड करके चलाएँ CapSkip डेस्कटॉप ऐप और इसे बैकग्राउंड में खुला रखें। आपका कोड इससे इस पर बात करता है 127.0.0.1:8080, इसलिए कोई cloud कॉल नहीं और कोई प्रति-हल शुल्क नहीं।
MTCaptcha को CapSkip पर भेजें
इस पेज के ये मान भेजें: sitekey और pageurl को in.php के साथ method=mt_captcha. CapSkip तुरंत एक task ID के साथ जवाब देता है।
import time
import requests
API = "http://127.0.0.1:8080" # the CapSkip app on your machine
KEY = "YOUR_API_KEY"
# 1. Submit the MTCaptcha shown on this page
task = requests.post(f"{API}/in.php", data={
"key": KEY,
"method": "mt_captcha",
"sitekey": "MTPublic-C8YHBQqYE",
"pageurl": "https://capskip.com/hi/captcha-demo/mtcaptcha/",
"json": 1,
}).json()["request"]
# 2. Poll until the token is ready
while True:
time.sleep(3)
res = requests.get(f"{API}/res.php", params={
"key": KEY, "action": "get", "id": task, "json": 1,
}).json()
if res["request"] != "CAPCHA_NOT_READY":
break
token = res["request"] # the v1(...) verified token
print(token)const API = 'http://127.0.0.1:8080'; // the CapSkip app on your machine
const KEY = 'YOUR_API_KEY';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
(async () => {
// 1. Submit the MTCaptcha shown on this page
const submit = await fetch(`${API}/in.php`, {
method: 'POST',
body: new URLSearchParams({
key: KEY,
method: 'mt_captcha',
sitekey: 'MTPublic-C8YHBQqYE',
pageurl: 'https://capskip.com/hi/captcha-demo/mtcaptcha/',
json: '1',
}),
}).then((r) => r.json());
// 2. Poll until the token is ready
let res;
do {
await sleep(3000);
res = await fetch(`${API}/res.php?key=${KEY}&action=get&id=${submit.request}&json=1`)
.then((r) => r.json());
} while (res.request === 'CAPCHA_NOT_READY');
const token = res.request; // the v1(...) verified token
console.log(token);
})();<?php
$api = 'http://127.0.0.1:8080'; // the CapSkip app on your machine
$key = 'YOUR_API_KEY';
// 1. Submit the MTCaptcha shown on this page
$ch = curl_init("$api/in.php");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => http_build_query([
'key' => $key,
'method' => 'mt_captcha',
'sitekey' => 'MTPublic-C8YHBQqYE',
'pageurl' => 'https://capskip.com/hi/captcha-demo/mtcaptcha/',
'json' => 1,
]),
]);
$task = json_decode(curl_exec($ch), true)['request'];
// 2. Poll until the token is ready
do {
sleep(3);
$res = json_decode(file_get_contents(
"$api/res.php?key=$key&action=get&id=$task&json=1"
), true);
} while ($res['request'] === 'CAPCHA_NOT_READY');
$token = $res['request']; // the v1(...) verified token
echo $token;using System.Text.Json;
const string Api = "http://127.0.0.1:8080"; // the CapSkip app on your machine
const string Key = "YOUR_API_KEY";
var http = new HttpClient();
// 1. Submit the MTCaptcha shown on this page
var submit = await http.PostAsync($"{Api}/in.php", new FormUrlEncodedContent(new Dictionary<string, string>
{
["key"] = Key,
["method"] = "mt_captcha",
["sitekey"] = "MTPublic-C8YHBQqYE",
["pageurl"] = "https://capskip.com/hi/captcha-demo/mtcaptcha/",
["json"] = "1",
}));
string task = JsonDocument.Parse(await submit.Content.ReadAsStringAsync())
.RootElement.GetProperty("request").GetString()!;
// 2. Poll until the token is ready
string token;
do
{
await Task.Delay(3000);
var res = JsonDocument.Parse(await http.GetStringAsync(
$"{Api}/res.php?key={Key}&action=get&id={task}&json=1"));
token = res.RootElement.GetProperty("request").GetString()!;
} while (token == "CAPCHA_NOT_READY");
Console.WriteLine(token); // the v1(...) verified tokenआपको एक सत्यापित token मिलता है, जो v1( से शुरू होता है, इस site key और इस पेज के लिए वैध है और सबमिट करने के लिए तैयार है। यह सिर्फ़ एक बार और कुछ ही मिनटों तक काम करता है, इसलिए फ़ॉर्म भेजने से ठीक पहले इसे माँगें।
token का उपयोग करें
token को widget के hidden में डालें mtcaptcha-verifiedtoken field और फ़ॉर्म सबमिट करें। फिर आपका server इसे MTCaptcha के checktoken कॉल और अपनी private key से जाँचता है। ध्यान दें कि यह demo widget के अपने callback से वेरिफ़ाई करता है, इसलिए यह किसी ऐसे token के बजाय जो आप field में रखते हैं, widget के बनाए token को जाँचता है।
// 1. Drop the solved token into the hidden field the widget submits
document.querySelector('[name="mtcaptcha-verifiedtoken"]').value = token;
// 2. ...then submit your form.Invisible MTCaptcha और पेज actions
invisible (लो-फ्रिक्शन) मोड में ज़्यादातर विज़िटर कभी कोई तस्वीर नहीं देखते, और MTCaptcha तस्वीर तभी दिखाता है जब कोई विज़िट संदिग्ध लगे। वही request इसे भी कवर करती है, और अगर तस्वीर माँगी जाए तो CapSkip उसका जवाब देता है। अगर पेज के mtcaptchaConfig में कोई action सेट हो, तो उसे job के साथ भेजें, क्योंकि token उसी से जुड़ा होता है।
POST http://127.0.0.1:8080/in.php
key=YOUR_API_KEY
method=mt_captcha
sitekey=MTPublic-SITEKEY_FROM_THE_PAGE
pageurl=https://the-protected-site.com/login
action=login
json=1
GET http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=2122988149&json=1
{"status":1,"request":"v1(2f7e3c1a,b7c6…)"}API यह भी स्वीकार करता है: एक proxy और proxytype, जिससे लगातार वॉल्यूम कई पतों पर बँट जाता है। JSON क्लाइंट वही job एक createTask के रूप में भेज सकते हैं, जिसका type हो: MTCaptchaTask या MtCaptchaTaskProxyless, साथ में isInvisible लो-फ्रिक्शन widgets के लिए।
request parameters, response fields और error codes की पूरी सूची यहाँ है: CapSkip API दस्तावेज़.
विकल्प 2: अपना मौजूदा solver-service कोड CapSkip को भेजें
पहले से किसी pay-per-captcha service के ज़रिए MTCaptcha हल कर रहे हैं, जैसे 2Captcha, CapMonster Cloud या CapSolver? आपको एक भी पंक्ति फिर से लिखने की ज़रूरत नहीं है। CapSkip ऐप में शामिल है एक सर्विस एमुलेटर जो उन services के अपने APIs को लोकल रूप से बोलता है: जो service आप इस्तेमाल करते हैं उसे चुनें, क्लिक करें hosts फ़ाइल में जोड़ें, और आपका बॉट, स्क्रैपर या तैयार tool उसे जो भी request पहले से भेजता है उसका जवाब CapSkip आपकी अपनी मशीन पर देता है, प्रति-हल बिल के बजाय एक फिक्स्ड कीमत पर।
अपनी service चुनें
CapSkip app खोलें और वह service चुनें जिससे आपका code पहले से बात करता है: 2Captcha, RuCaptcha, SolveCaptcha, CapMonster Cloud, CapSolver या DeathByCaptcha।
hosts फ़ाइल में जोड़ें
app में एक क्लिक उस service के domain को CapSkip पर पॉइंट कर देता है, इसलिए आपके टूल द्वारा की गई कॉल्स किसी पेड API पर बाहर जाने के बजाय आपकी अपनी मशीन पर उत्तरित होती हैं।
अपना tool बिना बदले चलाएं
वही API key, वही request, वही polling loop। CapSkip उस service के अपने format में जवाब देता है और आपके कोड को एक सत्यापित MTCaptcha token वापस मिलता है।
स्विच करने पर नीचे कुछ भी नहीं बदलता। यह वही कॉल है जो आपका कोड आज करता है, सिवाय इसके कि अब MTCaptcha लोकल रूप से हल होता है और एक सत्यापित token CapSkip से वापस आता है:
POST https://2captcha.com/in.php
key=YOUR_EXISTING_API_KEY
method=mt_captcha
sitekey=MTPublic-C8YHBQqYE
pageurl=https://capskip.com/hi/captcha-demo/mtcaptcha/
GET https://2captcha.com/res.php?key=YOUR_EXISTING_API_KEY&action=get&id=2122988149
OK|v1(2f7e3c1a,b7c6…) the verified token, solved by CapSkipक्लाइंट लाइब्रेरीज़ उसी तरह काम करती हैं: एक createTask / getTaskResult pair, साथ में MTCaptchaTask, DeathByCaptcha टाइप 18, या इन सेवाओं में से किसी एक पर बना कोई भी wrapper, emulator चालू होने के बाद भी काम करता रहता है। पूरा request और response reference यहाँ मौजूद है: CapSkip API दस्तावेज़.
MTCaptcha हल करने पर और
उन tools और भाषाओं के लिए guides जिन्हें लोग आमतौर पर इस demo के साथ जोड़ते हैं।
इस MTCaptcha डेमो के बारे में
यह पेज एक लाइव है MTCaptcha डेमो जहाँ आप टेस्ट कर सकते हैं कि MTCaptcha कैसे काम करता है और उसे रियल टाइम में हल होते देख सकते हैं। MTCaptcha एक privacy-focused कैप्चा है जो बिगड़े हुए अक्षरों की एक छोटी पंक्ति दिखाता है, जिसका कुछ हिस्सा एक रंगीन अंडाकार से ढका होता है, साथ में उन्हें टाइप करने के लिए एक box और audio तथा नई तस्वीर के लिए बटन होते हैं। जो sites कम friction चाहती हैं वे इसका invisible मोड चालू कर देती हैं, जो ज़्यादातर visitors को आगे जाने देता है और तस्वीर सिर्फ़ उन्हें दिखाता है जिन पर उसे शक होता है। इसका इस्तेमाल इन्हें एक्सप्लोर करने के लिए करें: MTCaptcha token जनरेशन, mtcaptcha-verifiedtoken value, और वह checktoken verification जिस पर वेबसाइटें forms, logins और signups को spam, दुरुपयोग और बॉट से बचाने के लिए निर्भर करती हैं।
डेवलपर, टेस्टर और ऑटोमेशन इंजीनियर इस MTCaptcha टेस्ट पेज का इस्तेमाल इंटीग्रेशन जाँचने, सेटअप वैलिडेट करने और यह बेंचमार्क करने के लिए कर सकते हैं कि CapSkip MTCaptcha को कितनी तेज़ी से हल करता है। चाहे आपको MTCaptcha एक बार हल करना हो या हज़ारों हल ऑटोमेट करने हों, CapSkip दो तरीकों से काम करता है: एक सीधा HTTP API जिसे आप किसी भी भाषा से कॉल कर सकते हैं, और उन captcha services की drop-in emulation जिनके लिए आप आज शायद प्रति हल भुगतान कर रहे हैं, दोनों एक फिक्स्ड कीमत पर असीमित हल के साथ। दोनों एक ही desktop AI से संचालित होते हैं कैप्चा सॉल्वर, एक बार इंस्टॉल किया गया और आपकी अपनी मशीन पर चल रहा, इसलिए किसी remote server पर कुछ भी queue नहीं होता और प्रति-हल कुछ भी बिल नहीं होता। पूरी जानकारी के लिए MTCaptcha सॉल्वर पेज देखें।
