Explainers

IP Mobile untuk Solve CAPTCHA: Kenapa Success Rate Lebih Tinggi

Kalau target scraping Anda memunculkan CAPTCHA di hampir setiap request meski sudah pakai IP residensial, penyebabnya sering satu hal: jaringan Anda bukan jaringan operator seluler. IP mobile (4G/5G) memicu tantangan CAPTCHA jauh lebih jarang — satu IP dipakai bersama ribuan pengguna nyata lewat CGNAT, dan memblokirnya berarti memblokir pelanggan sungguhan.


Kapan IP Mobile Layak Dipakai?

Pakai IP Mobile Kalau Pakai IP Residensial/Datacenter Kalau
Skor reCAPTCHA v3 menentukan akses — situs memblokir di bawah 0.7 Volume scraping tinggi — bandwidth mobile terlalu mahal
Target selalu menampilkan CAPTCHA, bahkan ke IP residensial Data publik, situs longgar — CAPTCHA jarang muncul
Alur kritis berbasis sesi — login, checkout, transaksi bernilai tinggi Latensi jadi prioritas — mobile 50–200 ms vs datacenter 5–20 ms
Volume task rendah tapi tiap request wajib berhasil, atau target mobile-first Anggaran terbatas — IP mobile bisa 10–20x lebih mahal per GB

Hitung-hitungan Biaya

Metrik Mobile Residensial Datacenter
Biaya per GB $20–50 $5–15 $0.50–2
CAPTCHA per 100 halaman 2 10 40
Biaya CaptchaAI (per 100 halaman) $0.006 $0.030 $0.120
Total biaya per 100 halaman $5–15 $2–5 $0.20–1

Untuk tim automasi kecil di Indonesia — pemantauan harga, QA checkout — paket thread CaptchaAI seperti STANDARD ($30/bulan, 15 thread) plus IP mobile terpilih biasanya lebih murah daripada memperbesar volume residensial. Latensi tambahan (50–200 ms) masih wajar untuk server di AWS ap-southeast-1 atau GCP asia-southeast2.

IP mobile adalah pilihan premium: success rate tertinggi, biaya tertinggi. Pakai selektif.


Kenapa IP Mobile Dipercaya Sistem CAPTCHA

CGNAT: Satu IP, Ribuan Pengguna Sekaligus

Operator seluler menaruh ratusan hingga ribuan pelanggan di balik satu IP publik lewat Carrier-Grade NAT, sehingga sistem anti-bot berpikir dua kali sebelum memblokir:

Traditional IP:
  1 IP = 1 user → Mudah dilacak dan di-flag

Mobile (CGNAT):
  1 IP = 1.000+ users → Memblokir = memblokir pengguna nyata

Logika provider CAPTCHA:
  "IP ini menunjukkan perilaku mencurigakan, tapi 500 pengguna mobile
   legitimate berbagi IP ini. Tidak bisa diblokir → sajikan challenge
   lebih mudah atau lewati CAPTCHA sepenuhnya."

Level Kepercayaan Tiap Jenis IP

Angka berikut dari pengamatan dan laporan pengguna; hasil aktual berbeda tergantung target situs.

Jenis IP Level Kepercayaan CAPTCHA Rate Token Acceptance
Mobile (4G/5G) Tertinggi 1–5% 98%+
Residensial Tinggi 5–15% tinggi (indikatif)
ISP Tinggi 5–15% tinggi (indikatif)
Datacenter Rendah 30–70% 80–90%
Datacenter yang di-flag Sangat rendah 70–90% 50–70%

Cara Mengintegrasikan IP Mobile dengan CaptchaAI

Setup Dasar

Rutekan trafik lewat gateway mobile, lalu panggil CaptchaAI hanya kalau CAPTCHA benar-benar muncul — jarang terjadi di IP mobile.

import requests
import time

# egress jaringan mobile yang diotorisasi configuration
MOBILE_PROXY = {
    "http": "http://user:pass@4g-proxy.example.com:5000",
    "https": "http://user:pass@4g-proxy.example.com:5000",
}

CAPTCHAAI_KEY = "YOUR_API_KEY"
CAPTCHAAI_URL = "https://ocr.captchaai.com"


def fetch_via_mobile(url):
    return requests.get(
        url,
        proxies=MOBILE_PROXY,
        headers={
            "User-Agent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) "
            "AppleWebKit/537.36 (KHTML, like Gecko) "
            "Chrome/126.0.0.0 Mobile Safari/537.36",
        },
        timeout=30,
    )


def solve_if_needed(url, html):
    """Only solve CAPTCHA if one appears (rare with mobile IPs)."""
    import re
    match = re.search(r'data-sitekey="([^"]+)"', html)

    if not match:
        return None  # No CAPTCHA — common with mobile IPs

    sitekey = match.group(1)

    resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
        "key": CAPTCHAAI_KEY,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": url,
        "json": 1,
    })
    task_id = resp.json()["request"]

    for _ in range(60):
        time.sleep(5)
        resp = requests.get(f"{CAPTCHAAI_URL}/res.php", params={
            "key": CAPTCHAAI_KEY, "action": "get",
            "id": task_id, "json": 1,
        })
        data = resp.json()
        if data["request"] != "CAPCHA_NOT_READY":
            return data["request"]

    raise TimeoutError("Timeout")

Rotasi IP Lewat Reset Modem

Sebagian layanan IP mobile berbasis modem fisik merotasi alamat dengan mereset modem itu sendiri:

def rotate_mobile_ip(api_url):
    """Trigger IP rotation via modem reset API."""
    resp = requests.get(f"{api_url}/rotate")
    if resp.status_code == 200:
        time.sleep(10)  # Wait for new IP assignment
        return True
    return False


def get_current_ip(proxy):
    resp = requests.get("https://httpbin.org/ip", proxies=proxy, timeout=15)
    return resp.json()["origin"]


# Rotate and verify
old_ip = get_current_ip(MOBILE_PROXY)
rotate_mobile_ip("http://4g-proxy.example.com:8080")
new_ip = get_current_ip(MOBILE_PROXY)
print(f"Rotated: {old_ip} → {new_ip}")

Penyedia IP Mobile yang Umum Dipakai

Provider Cakupan Jumlah IP Rotasi IP Kisaran Harga
Bright Data 195 negara 7 juta+ Otomatis + API $30+/GB
Oxylabs Global 20 juta+ Otomatis + sesi persisten $25+/GB
Smartproxy 130+ negara 10 juta+ Otomatis $20+/GB
IPRoyal Global 5 juta+ Otomatis + API $7+/GB
ProxyLTE US/EU Modem fisik Reset modem $50+/bulan

Skor reCAPTCHA v3 per Jenis IP

Proxy Type          │ Average Score │ Range
────────────────────┼───────────────┼────────────
Mobile (4G/5G)      │ 0.8           │ 0.7 - 0.9
Residential         │ 0.7           │ 0.5 - 0.9
ISP                 │ 0.6           │ 0.5 - 0.8
Datacenter          │ 0.2           │ 0.1 - 0.3
Headless + DC       │ 0.1           │ 0.1 - 0.1

IP mobile menghasilkan skor tertinggi tanpa modifikasi browser apa pun — headless browser plus IP datacenter malah jatuh di skor terendah.


Menyamakan User-Agent dengan IP Mobile

IP mobile saja tidak cukup kalau User-Agent Anda masih menyiratkan desktop. Cocokkan dengan perangkat yang benar-benar dipakai:

  • Android Chrome (Pixel, Samsung — mayoritas trafik mobile Indonesia)
  • iOS Safari (iPhone)
  • Sesuaikan header Accept-Language kalau target situsnya berbahasa Indonesia
MOBILE_UAS = [
    # Android Chrome
    "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 "
    "(KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36",

    # Android Samsung
    "Mozilla/5.0 (Linux; Android 14; SM-S918B) AppleWebKit/537.36 "
    "(KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36",

    # iOS Safari
    "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) "
    "AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 "
    "Mobile/15E148 Safari/604.1",
]

import random

def get_mobile_headers():
    return {
        "User-Agent": random.choice(MOBILE_UAS),
        "Accept": "text/html,application/xhtml+xml,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.9",
        "Accept-Encoding": "gzip, deflate, br",
    }

Masalah Umum dan Solusinya

Kecepatan lambat

Penyebabnya latensi jaringan seluler. Terima trade-off ini atau pakai gateway mobile berkabel.

IP berganti tanpa diminta

CGNAT operator melakukan re-assignment otomatis. Pakai parameter sesi persisten.

Masih kena CAPTCHA

User-Agent desktop dipakai di atas IP mobile. Samakan User-Agent dengan perangkat mobile.

Biaya bandwidth membengkak

Halaman diunduh penuh. Filter request dan blokir gambar yang tidak perlu.

Koneksi putus-putus

Sinyal seluler tidak stabil. Terapkan retry dengan backoff.


Pertanyaan yang Sering Diajukan

Apakah IP mobile sepadan dengan biayanya untuk scraping?

Untuk target bernilai tinggi — media sosial, checkout e-commerce, situs finansial — ya. Untuk data publik volume besar, biasanya tidak.

Apa bedanya IP mobile dan IP residensial untuk urusan CAPTCHA?

Keduanya dianggap "trafik pengguna asli", tapi IP mobile berbagi alamat lewat CGNAT dengan jauh lebih banyak pengguna, jadi rate CAPTCHA-nya lebih rendah — trade-off-nya harga per GB lebih tinggi.

Apakah CaptchaAI masih diperlukan kalau sudah pakai IP mobile?

Ya. Rate CAPTCHA di IP mobile rendah (1–5%), tapi bukan nol — CaptchaAI menangani token begitu muncul.

Berapa lama CaptchaAI menyelesaikan CAPTCHA yang tetap muncul di jaringan mobile?

Jenis CAPTCHA-nya yang menentukan waktu, bukan jenis IP-nya — reCAPTCHA v2 dan Turnstile solve dalam hitungan detik lewat CaptchaAI.

Amankah memakai IP mobile untuk otomatisasi bisnis kecil di Indonesia?

Secara teknis ya, selama Anda hanya mengambil data yang berwenang Anda proses. UU Pelindungan Data Pribadi (UU 27/2022) dan UU ITE tetap berlaku terlepas dari jenis IP — artikel ini bukan nasihat hukum.


Panduan Terkait

Baca juga ISP vs datacenter, mana yang lebih cocok untuk solve CAPTCHA dan strategi rotasi IP residensial untuk CAPTCHA.


IP mobile memberi Anda CAPTCHA trigger rate terendah — ambil API key CaptchaAI untuk menangani sisa challenge yang tetap muncul.

Komentar dinonaktifkan untuk artikel ini.