# 403 Forbidden saat scraping melalui proxy: penyebab dan cara mengatasinya

> Mengapa situs menjawab 403 Forbidden untuk scraper di balik proxy, cara membedakan blokir dengan bug, dan apa yang harus dilakukan tanpa melanggar aturan situs.

- URL: https://crawlrelay.com/id/docs/errors/403-forbidden/
- Terakhir diperbarui: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Kode status HTTP (4xx, kesalahan klien): pesan tepat di tiap alat, penyebab yang mungkin secara urut, dan perbaikan yang berhasil.

**Jawaban cepat — Apa arti 403 Forbidden dengan proxy?**

**403 Forbidden** berarti server memahami permintaan Anda dan menolak melayaninya. Saat Anda scrape lewat proxy residential CrawlRelay, 403 hampir selalu datang dari situs target atau firewallnya, bukan proxy. Cari tahu alasannya sebelum mengirim lebih banyak traffic: negara salah, header hilang, halaman di balik login, atau situs tidak mengizinkan akses otomatis.

## 403 Forbidden sekilas

| Atribut | Nilai |
| --- | --- |
| Kesalahan | 403 Forbidden |
| Tipe | Kode status HTTP (4xx, kesalahan klien) |
| Dikirim oleh | Biasanya situs target atau firewallnya; kadang proxy untuk tujuan yang diblokir |
| Didefinisikan dalam | RFC 9110, section 15.5.4 |
| Mencoba lagi? | Sekali, setelah jeda dan IP baru; pengulangan 403 artinya berhenti |
| Periksa pertama | Buka URL yang sama di browser biasa dari negara yang sama |

## Apa arti 403 Forbidden?

RFC 9110 mendefinisikan 403 sebagai penolakan: server memahami permintaan tapi tidak akan memenuhinya. Berbeda dengan 401, kredensial baru tidak akan membantu. Situs mungkin menjelaskan alasannya di isi respons, tapi banyak firewall mengembalikan halaman singkat generik.

Bagi scraper, 403 adalah sinyal kebijakan. Situs memutuskan permintaan ini, dari IP ini, dengan header ini, pada kecepatan ini, tidak boleh mendapat halaman. Beberapa input harus Anda perbaiki. Lainnya adalah situs bilang tidak.

## Seperti apa a 403 dalam Python, curl, Node.js, dan browser?

Kegagalan yang sama dicetak berbeda di setiap alat. Ini adalah pesan yang perlu dicari di log Anda:

- **Python requests:** `r.status_code == 403`, sering dengan isi HTML dari vendor firewall
- **Scrapy:** `Ignoring response <403 https://...>: HTTP status code is not handled or not allowed`
- **curl:** `HTTP/2 403` di output verbose
- **Playwright, Puppeteer:** navigasi berhasil tapi `response.status()` mengembalikan 403 dan halaman menunjukkan pesan akses ditolak

## Apa penyebab a 403?

Kemungkinan besar pertama:

- **Geografi.** Konten tidak ditawarkan di negara IP keluar, atau situs hanya melayani satu wilayah.
- **Reputasi IP.** Situs memblokir rentang alamat yang dikaitkan dengan traffic otomatis. Rentang datacenter lebih sering diblokir daripada residential.
- **Sidik jari permintaan.** Header hilang atau tidak konsisten, seperti tidak ada `Accept-Language`, atau User-Agent browser dikirimkan oleh klien HTTP biasa.
- **Kecepatan.** Terlalu banyak permintaan dalam waktu singkat dari satu sesi, firewall meningkatkan dari 429 ke 403.
- **Aturan akses.** Halaman butuh login, akun bayar, atau dikecualikan untuk crawler di robots.txt atau syarat penggunaan.
- **Kebijakan proxy.** Beberapa tujuan ditolak oleh proxy itu sendiri. Di CrawlRelay ini mencakup kategori dalam Acceptable Use Policy.

## Bagaimana cara mendiagnosis a 403 langkah demi langkah?

1. Muat URL di browser biasa dari negara yang sama. Jika juga gagal di sana, halaman tidak publik untuk lokasi itu.
2. Bandingkan header yang dikirim scraper Anda dan yang dikirim browser.
3. Cek robots.txt target dan syarat untuk aturan akses otomatis.
4. Perhatikan pola waktu: 403 yang mulai setelah N permintaan mengarah ke kecepatan, bukan IP.

*Uji URL yang gagal dengan curl (port HTTP, verbose)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## Bagaimana cara memperbaiki a 403?

- **Pilih negara yang tepat** dengan parameter `country-` agar Anda melihat edisi situs yang pengunjung lokal lihat.
- **Kirim header jujur dan lengkap.** Identifikasi crawler Anda di User-Agent dengan URL kontak, dan kirim `Accept` serta `Accept-Language`.
- **Perlambat.** Kurangi concurrency per host dan tambahkan jeda. Lihat [cara menangani 403, 429 dan CAPTCHA](https://crawlrelay.com/id/guides/403-429-captcha/).
- **Hargai penolakan.** Jika situs sengaja blokir akses otomatis, cari API resmi, lisensi data, atau dataset publik. Memutar IP untuk melewati blokir sengaja melanggar [Acceptable Use Policy](https://crawlrelay.com/id/acceptable-use/).

## Haruskah saya mencoba lagi setelah a 403?

Ulangi 403 maksimal sekali, setelah jeda, di IP baru. Satu pengulangan membedakan alamat terflag dari aturan situs luas. Jika percobaan kedua juga 403, hentikan kirim permintaan ke pola URL itu dan tinjau pengaturan Anda. Memaksakan 403 membuang bandwidth dan mengubah blokir ringan menjadi keras.

## Bagaimana 403 Forbidden berlaku untuk CrawlRelay?

Di CrawlRelay, koneksi baru tanpa ID sesi biasanya keluar lewat IP residential berbeda, jadi satu pengulangan biasanya menguji alamat baru. Pertahankan negara sama saat ulangi: berpindah negara mengubah konten yang dibandingkan. Permintaan ke situs perbankan, pemerintahan dan portal pembayaran ditolak gateway sesuai AUP.

Gateway: `gw.crawlrelay.com`, port 7777 (HTTP, HTTPS melalui CONNECT) dan port 7778 (SOCKS5). Format username: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Terkait: [429 Too Many Requests](https://crawlrelay.com/id/docs/errors/429-too-many-requests/) · [401 vs 407](https://crawlrelay.com/id/docs/errors/401-unauthorized/) · [Menangani 403, 429 dan CAPTCHA](https://crawlrelay.com/id/guides/403-429-captcha/).

## 403 Forbidden: pertanyaan yang sering ditanyakan pengembang

### Apakah 403 berarti IP proxy saya diblokir?

Belum tentu. 403 bisa muncul karena negara yang salah, header yang hilang, laju permintaan yang tinggi, atau halaman yang tidak bersifat publik. Uji URL yang sama dari browser di negara yang sama dan bandingkan. Jika IP baru mendapatkan halaman tersebut dan yang lama tidak, maka IP lama tersebut terblokir. Jika setiap IP mendapatkan 403, aturan situs yang menjadi penyebabnya.

### Apakah proxy residential menghilangkan kesalahan 403?

Tidak sebagai aturan. Exit residential di negara atau kota yang tepat memperbaiki 403 yang disebabkan lokasi salah, karena situs akan melayani edisi lokalnya. Jika situs memfilter rentang hosting atau menolak crawler untuk mengurangi lalu lintas otomatis, IP residential tidak membuat akses itu diizinkan. 403 yang disebabkan header, laju, atau tembok login perlu perbaikan di kode Anda.

### Apakah legal terus scrape setelah 403?

403 adalah sinyal jelas bahwa situs menolak permintaan. Mendorong melewati penghalang teknis yang disengaja bisa menimbulkan risiko hukum di beberapa negara, misalnya berdasarkan undang-undang anti-sirkumvensi atau penyalahgunaan komputer. Ini bukan nasihat hukum. Baca tinjauan kami tentang [hukum web scraping di 2026](https://crawlrelay.com/id/guides/is-web-scraping-legal/) dan tanyakan pada penasihat hukum Anda.

## Kesalahan proxy lain dalam referensi ini

- [401 Unauthorized vs 407](https://crawlrelay.com/id/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/id/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/id/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/id/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/id/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/id/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/id/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/id/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/id/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/id/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/id/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/id/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/id/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/id/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/id/docs/errors/ssl-wrong-version-number/)

**Proxy residensial dengan dokumentasi yang membahas kasus kegagalan** Proxy residensial CrawlRelay dari US$0,50/GB, lalu lintas yang tidak pernah kedaluwarsa. [Lihat harga](https://crawlrelay.com/id/pricing/) · [Mulai cepat](https://crawlrelay.com/id/docs/)

---

CrawlRelay: CrawlRelay adalah layanan proxy residensial dan proxy seluler 4G/5G yang berfokus pada pengembang untuk scraper dan pipeline data AI: trafik pay-as-you-go tanpa kedaluwarsa mulai dari US$0,50/GB, dibayar dengan crypto, tanpa perlu unggah ID. Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan crypto.
