Cara Memecahkan MTCaptcha
Kotak di atas adalah versi langsung dari MTCaptcha widget. Halaman ini menunjukkan dua cara untuk memecahkan MTCaptcha dan mendapatkan token v1 terverifikasi: dengan memanggil HTTP API CapSkip dari kode Anda sendiri, atau dengan merutekan layanan captcha yang sudah dipanggil alat Anda ke CapSkip. CapSkip adalah pemecah MTCaptcha tanpa batas yang berjalan secara lokal di perangkat Anda, jadi tidak ada biaya per pemecahan dan tidak ada yang keluar dari komputer Anda.
Opsi 1: Pecahkan MTCaptcha dengan HTTP API CapSkip
Membangun otomatisasi, scraper atau bot? Kirim site key MTPublic dan URL halaman ini ke aplikasi CapSkip dengan satu permintaan, lakukan polling untuk hasilnya, dan CapSkip mengembalikan token MTCaptcha terverifikasi yang dapat Anda kirim seperti token asli. API ini menggunakan endpoint standar in.php / res.php , sehingga dapat digunakan dari Python, Node.js, PHP, C# atau bahasa lain apa pun yang dapat melakukan panggilan HTTP.
MTPublic-C8YHBQqYE
https://capskip.com/id/captcha-demo/mtcaptcha/
Sebelum Anda mulai
CapSkip memecahkan secara lokal. Unduh dan jalankan aplikasi desktop CapSkip dan biarkan tetap terbuka di latar belakang. Kode Anda berkomunikasi dengannya di 127.0.0.1:8080, sehingga tidak ada panggilan cloud dan tidak ada biaya per pemecahan.
Kirim MTCaptcha ke CapSkip
Kirim nilai halaman ini, yaitu sitekey dan pageurl ke in.php dengan method=mt_captcha. CapSkip langsung menjawab dengan ID tugas.
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/id/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/id/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/id/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/id/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 tokenAnda mendapatkan token terverifikasi yang diawali dengan v1(, yang valid untuk site key ini dan halaman ini, siap dikirim. Token ini hanya berlaku sekali dan hanya selama beberapa menit, jadi mintalah tepat sebelum Anda mengirim formulir.
Gunakan token
Masukkan token ke kolom tersembunyi milik widget mtcaptcha-verifiedtoken tersebut dan kirim formulirnya. Server Anda kemudian memeriksanya dengan panggilan MTCaptcha checktoken dan private key-nya. Perhatikan bahwa demo ini memverifikasi melalui callback milik widget itu sendiri, sehingga yang diperiksa adalah token yang dihasilkan widget, bukan token yang Anda masukkan ke kolom.
// 1. Drop the solved token into the hidden field the widget submits
document.querySelector('[name="mtcaptcha-verifiedtoken"]').value = token;
// 2. ...then submit your form.MTCaptcha Invisible dan action halaman
Dalam mode invisible (low friction), sebagian besar pengunjung tidak pernah melihat gambar, dan MTCaptcha hanya menampilkannya ketika sebuah kunjungan terlihat mencurigakan. Permintaan yang sama juga mencakup mode ini, dan CapSkip menjawab gambarnya jika diminta. Jika mtcaptchaConfig halaman menetapkan action, kirimkan bersama pekerjaan, karena token terikat padanya.
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 ini juga menerima proxy dan proxytype, yang menyebarkan volume yang stabil ke beberapa alamat. Klien JSON dapat mengirim pekerjaan yang sama sebagai createTask dengan tipe MTCaptchaTask atau MtCaptchaTaskProxyless, dengan isInvisible untuk widget low friction.
Daftar lengkap parameter permintaan, field respons, dan kode error tersedia di Dokumentasi API CapSkip.
Opsi 2: Kirim kode layanan solver Anda yang sudah ada ke CapSkip
Sudah memecahkan MTCaptcha melalui layanan bayar per captcha seperti 2Captcha, CapMonster Cloud atau CapSolver? Anda tidak perlu menulis ulang satu baris pun. Aplikasi CapSkip menyertakan emulator layanan yang berbicara dengan API milik layanan-layanan itu secara lokal: pilih layanan yang Anda pakai, klik Tambahkan ke file hosts, dan setiap permintaan yang sudah dikirim bot, scraper atau alat siap pakai Anda ke sana dijawab oleh CapSkip di komputer Anda sendiri, dengan harga tetap alih-alih tagihan per pemecahan.
Pilih layanan Anda
Buka aplikasi CapSkip dan pilih layanan yang sudah digunakan oleh kode Anda: 2Captcha, RuCaptcha, SolveCaptcha, CapMonster Cloud, CapSolver atau DeathByCaptcha.
Tambahkan ke file hosts
Satu klik di aplikasi mengarahkan domain layanan tersebut ke CapSkip, sehingga panggilan yang dibuat alat Anda dijawab di komputer Anda sendiri alih-alih keluar ke API berbayar.
Jalankan alat Anda tanpa perubahan
API key yang sama, permintaan yang sama, loop polling yang sama. CapSkip membalas dalam format milik layanan tersebut dan kode Anda mendapatkan token MTCaptcha terverifikasi.
Tidak ada yang berubah di bawah ini saat Anda beralih. Ini adalah panggilan yang sama seperti yang dilakukan kode Anda hari ini, hanya saja MTCaptcha kini dipecahkan secara lokal dan token terverifikasi dikembalikan oleh CapSkip:
POST https://2captcha.com/in.php
key=YOUR_EXISTING_API_KEY
method=mt_captcha
sitekey=MTPublic-C8YHBQqYE
pageurl=https://capskip.com/id/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 CapSkipPustaka klien bekerja dengan cara yang sama: pasangan createTask / getTaskResult dengan MTCaptchaTask, DeathByCaptcha tipe 18, atau wrapper apa pun yang dibangun di atas salah satu layanan ini, tetap bekerja begitu emulator diaktifkan. Referensi lengkap permintaan dan respons ada di Dokumentasi API CapSkip.
Selengkapnya tentang pemecahan MTCaptcha
Panduan untuk perkakas dan bahasa yang biasanya dipadukan orang dengan demo ini.
Tentang demo MTCaptcha ini
Halaman ini adalah versi langsung dari Demo MTCaptcha tempat Anda dapat menguji cara kerja MTCaptcha dan menyaksikannya dipecahkan secara real time. MTCaptcha adalah CAPTCHA yang berfokus pada privasi dan menampilkan satu baris pendek karakter terdistorsi, sebagian tertutup elips berwarna, dengan kotak untuk mengetikkannya serta tombol untuk audio dan gambar baru. Situs yang menginginkan hambatan lebih sedikit mengaktifkan mode invisible-nya, yang meloloskan sebagian besar pengunjung dan hanya menampilkan gambar kepada pengunjung yang diragukannya. Gunakan untuk menjelajahi pembuatan token MTCaptcha, nilai mtcaptcha-verifiedtoken , dan verifikasi checktoken yang diandalkan situs web untuk melindungi formulir, login dan pendaftaran dari spam, penyalahgunaan dan bot.
Pengembang, penguji, dan insinyur otomatisasi dapat menggunakan halaman uji MTCaptcha ini untuk memeriksa integrasi, memvalidasi penyiapan, dan mengukur seberapa cepat CapSkip memecahkan MTCaptcha. Baik Anda perlu memecahkan MTCaptcha sekali maupun mengotomatiskan ribuan pemecahan, CapSkip bekerja dengan dua cara: HTTP API sederhana yang dapat Anda panggil dari bahasa apa pun, dan emulasi siap pakai untuk layanan captcha yang mungkin Anda bayar per pemecahan saat ini, keduanya dengan pemecahan tanpa batas pada satu harga tetap. Keduanya digerakkan oleh AI desktop yang sama, yaitu pemecah captcha, diinstal sekali dan berjalan di komputer Anda sendiri, sehingga tidak ada yang diantre di server jarak jauh dan tidak ada yang ditagih per pemecahan. Lihat halaman Pemecah MTCaptcha untuk gambaran lengkapnya.
