Kembali ke blog

Mengapa Beberapa Situs Web Tidak Terbuka Melalui Proxy: Panduan Lengkap

Proxy adalah alat yang ampuh, tetapi terkadang situs web menolak untuk membuka melaluinya. Pelajari mengapa hal ini terjadi dan cara memperbaikinya.

📅8 Desember 2025
```html

Mengapa beberapa situs web tidak membuka melalui proxy: panduan lengkap

Proxy adalah alat yang sangat diperlukan untuk web scraping, pengujian, otomasi SMM, dan melewati pembatasan geografis. Namun terkadang alih-alih konten, Anda melihat kesalahan 403, timeout, atau halaman kosong. Mari kita cari tahu mengapa hal ini terjadi dan cara memperbaikinya.

1. Deteksi dan pemblokiran proxy

Ini adalah alasan paling umum. Aplikasi web modern menggunakan layanan khusus untuk mendeteksi lalu lintas proxy. Situs menganalisis:

  • ASN (Autonomous System Number) — banyak penyedia proxy menggunakan rentang ASN yang dikenal, yang mudah diblokir
  • Perilaku pengguna — pergantian IP yang tidak mungkin cepat, tidak adanya cookies, pola klik yang aneh
  • Sidik jari TLS — browser mengirimkan data unik tentang versi SSL, ekstensi, urutan enkripsi
  • Sidik jari WebGL dan Canvas — bahkan JavaScript dapat mengungkapkan penggunaan proxy
Contoh: Situs melihat bahwa dalam 10 detik, 100 halaman produk dimuat dari IP Anda. Ini jelas bukan manusia — pemblokiran tidak dapat dihindari.

2. Pembatasan geografis

Situs memeriksa geolokasi IP dan menolak akses jika tidak sesuai dengan harapan:

  • Bank dan layanan keuangan memblokir akses dari negara tertentu
  • Layanan streaming (Netflix, YouTube) membatasi konten berdasarkan wilayah
  • Situs pemerintah mungkin tidak dapat diakses dari luar
  • Platform e-commerce mengubah bahasa dan mata uang berdasarkan IP

Jika Anda menggunakan proxy data center dari AS, dan situs memerlukan akses hanya dari Eropa — Anda akan mendapatkan kesalahan 403 atau pengalihan.

3. Reputasi alamat IP

Setiap IP memiliki riwayat. Jika alamat sebelumnya digunakan untuk spam, parsing, atau serangan DDoS, situs akan memblokirnya:

  • Daftar hitam — IP masuk ke basis Project Honey Pot, Spamhaus, AbuseIPDB
  • Skor rendah di layanan seperti IPQualityScore — situs menggunakan layanan tersebut untuk penyaringan
  • Pelanggaran sebelumnya — jika IP sudah diblokir di situs, mungkin tetap berada dalam daftar hitam untuk waktu yang lama

Anda dapat memeriksa reputasi IP di abuseipdb.com atau ipqualityscore.com.

4. Header dan konfigurasi yang salah

Sering kali situs memblokir permintaan karena header HTTP yang hilang atau salah:

Header Masalah
User-Agent Hilang atau aneh (seperti Python-requests/2.25.1)
Referer Tidak cocok dengan logika navigasi situs
Accept-Language Hilang atau tidak cocok dengan geolokasi IP
X-Forwarded-For Mengungkapkan penggunaan proxy atau VPN

Solusi: Gunakan header browser asli. Berikut adalah contoh di Python:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1'
}

proxy = 'http://your-proxy:port'
response = requests.get('https://example.com', 
                       headers=headers, 
                       proxies={'http': proxy, 'https': proxy})

5. Masalah protokol dan port

Beberapa proxy hanya mendukung HTTP, tetapi Anda mencoba mengakses situs HTTPS. Atau port diblokir di tingkat jaringan:

  • HTTP vs HTTPS — pastikan proxy mendukung kedua protokol
  • Port — standar 80 (HTTP) dan 443 (HTTPS), tetapi beberapa situs menggunakan port non-standar
  • SOCKS vs HTTP — tipe proxy yang berbeda memiliki batasan yang berbeda
Tip: Jika situs tidak membuka melalui proxy HTTP, coba SOCKS5. Ini bekerja pada level yang lebih rendah dan lebih baik dalam melewati beberapa pembatasan.

6. Rate limiting dan perlindungan DDoS

Jika Anda membuat banyak permintaan berturut-turut, bahkan melalui IP yang berbeda, situs dapat memblokir Anda:

  • 429 Too Many Requests — Anda telah melampaui batas permintaan
  • Pemblokiran sementara — biasanya selama 1-24 jam
  • Pemblokiran permanen — jika Anda terus menyerang server
  • Cloudflare, WAF — sistem perlindungan khusus yang membedakan bot dari manusia

7. Solusi praktis

✓ Gunakan proxy residensial alih-alih data center

Proxy residensial adalah alamat IP asli dari pengguna rumahan. Mereka jauh lebih sulit dideteksi karena terlihat seperti lalu lintas biasa. Data center sering diblokir karena ASN mereka dikenal.

✓ Tambahkan penundaan antar permintaan

import time
import random

for url in urls:
    response = requests.get(url, headers=headers, proxies=proxies)
    # Penundaan acak dari 1 hingga 5 detik
    time.sleep(random.uniform(1, 5))

✓ Rotasi proxy

Jangan gunakan satu IP untuk semua permintaan. Beralih antar alamat yang berbeda:

proxies_list = [
    'http://proxy1:port',
    'http://proxy2:port',
    'http://proxy3:port',
]

for i, url in enumerate(urls):
    proxy = proxies_list[i % len(proxies_list)]
    response = requests.get(url, proxies={'http': proxy, 'https': proxy})

✓ Periksa IP sebelum digunakan

Pastikan IP tidak dalam daftar hitam:

import requests

def check_ip_reputation(ip):
    response = requests.get(f'https://ipqualityscore.com/api/json/ip/{ip}')
    data = response.json()
    return data.get('fraud_score', 0)

# Gunakan hanya IP dengan skor rendah
if check_ip_reputation(proxy_ip) < 75:
    # IP aman
    pass

✓ Gunakan otomasi browser untuk situs kompleks

Jika situs menggunakan JavaScript dan perlindungan kompleks, permintaan HTTP biasa tidak akan membantu. Gunakan Selenium atau Puppeteer:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://proxy:port')

driver = webdriver.Chrome(options=options)
driver.get('https://example.com')

✓ Gunakan proxy seluler untuk situs seluler

Proxy seluler bekerja melalui jaringan seluler nyata (4G/5G). Mereka lebih andal untuk aplikasi seluler dan sering tidak diblokir oleh situs yang membatasi akses untuk PC.

✓ Tangani kesalahan dengan benar

try:
    response = requests.get(url, proxies=proxies, timeout=10)
    response.raise_for_status()
except requests.exceptions.ProxyError:
    print("Kesalahan proxy — IP mungkin diblokir")
except requests.exceptions.Timeout:
    print("Timeout — server tidak merespons")
except requests.exceptions.HTTPError as e:
    if response.status_code == 403:
        print("Akses ditolak — coba proxy lain")

Kesimpulan

Situs memblokir proxy karena berbagai alasan: dari deteksi pola lalu lintas hingga reputasi IP yang sederhana. Tidak ada solusi universal, tetapi kombinasi proxy berkualitas, header yang benar, penundaan, dan rotasi IP akan menyelesaikan sebagian besar masalah.

Untuk parsing dan otomasi disarankan menggunakan proxy residensial berkualitas tinggi, yang terlihat seperti lalu lintas asli dari pengguna rumahan. Mereka lebih mahal daripada data center, tetapi bekerja lebih andal dan jarang diblokir.

```