In this Article
aiohttp adalah library andalan Python untuk HTTP async dengan concurrency tinggi, sempurna untuk web scraping ribuan halaman sekaligus tanpa thread. Namun, kirim sebanyak itu request dari satu IP datacenter dan Anda akan cepat diblokir atau terkena pembatasan laju. Solusinya adalah mengarahkan aiohttp melalui proxy, idealnya residential, agar request terlihat seperti pengguna sungguhan. aiohttp memiliki parameter bawaan proxy= untuk proxy HTTP, dengan satu catatan penting untuk SOCKS5. Panduan ini menunjukkan secara tepat cara menggunakan proxy dengan aiohttp (HTTP, autentikasi, SOCKS5, session, env vars, dan rotasi), lalu mengurutkan 8 proxy terbaik untuk aiohttp pada 2026. DataImpulse at $1/GB sebagai tolok ukur nilai terbaik.
Saya Andrii Byzov, Fractional CMO berbasis AI yang setiap hari menulis scraper Python async. Berikut ini: snippet siap salin-tempel, kendala instalasi SOCKS5, dan penyedia yang layak untuk anggaran Anda.
Fakta Utama
- Berikan
proxy=ke request ,session.get(url, proxy="http://user:pass@host:port"). Kredensial dalam URL digunakan secara otomatis. - Atau gunakan
proxy_auth,aiohttp.BasicAuth("user","pass")bersama URL proxy tanpa kredensial. - aiohttp secara native hanya mendukung proxy HTTP, bukan SOCKS5. Untuk SOCKS5, instal
aiohttp_socksdan gunakanProxyConnector. - Tetapkan proxy pada
ClientSessiondengan memberikantrust_env=Trueuntuk membacaHTTP_PROXY/HTTPS_PROXYenv vars, atau berikanproxy=per request. - DataImpulse adalah pilihan bernilai terbaik , residential $1/GB pay-as-you-go, datacenter $0,50/GB, mobile $2/GB, 90M+ IP di 195 negara, HTTP/HTTPS/SOCKS5, serta geo-targeting negara/kota/ASN.
Cara Menggunakan Proxy dengan aiohttp
1. Proxy HTTP dasar dengan autentikasi
import aiohttp, asyncio
async def main():
proxy = "http://YOUR_LOGIN__cr.us:[email protected]:823" # __cr.us = US
async with aiohttp.ClientSession() as session:
async with session.get("https://httpbin.org/ip", proxy=proxy) as r:
print(await r.json()) # confirm the egress IP
asyncio.run(main())
Argumen proxy= menerima URL proxy HTTP; kredensial dalam URL diterapkan secara otomatis. (Skema proxy untuk http:// bahkan saat Anda meminta URL https:// , karena koneksi diteruskan melalui CONNECT.)
2. Kredensial melalui proxy_auth
auth = aiohttp.BasicAuth("YOUR_LOGIN__cr.us", "YOUR_PASSWORD")
async with session.get("https://httpbin.org/ip",
proxy="http://gw.dataimpulse.com:823",
proxy_auth=auth) as r:
print(await r.json())
3. SOCKS5 (instal aiohttp_socks)
# pip install aiohttp_socks
from aiohttp_socks import ProxyConnector
connector = ProxyConnector.from_url(
"socks5://YOUR_LOGIN__cr.us:[email protected]:824")
async with aiohttp.ClientSession(connector=connector) as session:
async with session.get("https://httpbin.org/ip") as r:
print(await r.json())
aiohttp tidak menangani SOCKS secara native, sehingga aiohttp_socks menyediakan ProxyConnector yang dapat melakukannya (DNS diurai melalui proxy untuk menghindari kebocoran). DataImpulse menyediakan SOCKS5 pada port 824.
4. Env vars & concurrent rotation
# env vars: ClientSession(trust_env=True) reads HTTP_PROXY/HTTPS_PROXY
# export HTTPS_PROXY="http://YOUR_LOGIN__cr.us:[email protected]:823"
# concurrency: a rotating gateway gives a fresh IP per connection
async def fetch(session, url, proxy):
async with session.get(url, proxy=proxy) as r:
return await r.json()
async with aiohttp.ClientSession() as s:
results = await asyncio.gather(*[fetch(s, "https://httpbin.org/ip", proxy) for _ in range(20)])
Dengan gateway residential rotating DataImpulse, masing-masing dari 20 request serentak itu keluar dari IP yang berbeda, tanpa daftar proxy yang perlu dikelola. Untuk merotasi daftar statis, berikan proxy= per request.
Proxy Terbaik untuk aiohttp Sekilas
| Penyedia | Terbaik untuk aiohttp | Harga residential | Protokol | Keunggulan |
|---|---|---|---|---|
| DataImpulse | Nilai terbaik, web scraping async | $1/GB PAYG | HTTP/HTTPS/SOCKS5 | Pool 90M+, tidak pernah kedaluwarsa |
| Bright Data | Enterprise + managed | Promo ~$4/GB; reguler $8 | HTTP/HTTPS/SOCKS5 | Web Unlocker, SERP API, datasets |
| Oxylabs | Enterprise SLA | mulai $6/GB | HTTP/HTTPS/SOCKS5 | Pool 175M+, API scraper |
| Decodo | Pasar menengah, cakupan geo lengkap | $3,75/GB (~$2 pada 1TB+) | HTTP/HTTPS/SOCKS5 | Pool 115M+, sticky hingga 24 jam |
| IPRoyal | Sticky session jangka panjang | mulai $7,35/GB | HTTP/HTTPS/SOCKS5 | Sticky hingga 7 hari; PAYG murah |
| SOAX | Kombinasi residential + mobile | $3,60/GB Starter | HTTP/HTTPS/SOCKS5 | 155M+ residential, 33M+ mobile |
| Webshare | Hemat / self-serve | mulai $3,50/bln residential; $2,99/bln DC | HTTP/SOCKS5 | Tier gratis, datacenter termurah |
| NetNut | Stabilitas ISP-residential | mulai $3,53/GB | HTTP/HTTPS | IP statis ISP konsumen |

Pilihan utama, secara singkat
DataImpulse adalah tolok ukur nilai terbaik untuk pekerjaan aiohttp, dengan residential $1/GB pay-as-you-go (datacenter $0,50/GB, mobile $2/GB), 90M+ IP di 195 negara, HTTP/HTTPS dan SOCKS5 (melalui aiohttp_socks), serta geo-targeting negara/kota/ASN dalam username. Lalu lintas tidak pernah kedaluwarsa, sehingga penggunaan untuk pengembangan async tidak menghabiskan langganan. Tingkat keberhasilan yang dipublikasikan 99,51%; G2 4,8/5; dukungan manusia 24/7. Untuk web scraping ber-concurrency tinggi dengan aiohttp, biayanya paling rendah per request yang berhasil.
Bright Data adalah pilihan enterprise (residential reguler ~$8/GB, promo ~$4) dengan Web Unlocker, SERP API, dan dataset. Oxylabs (mulai $6/GB, pool 175M+) adalah opsi berkelas SLA. Decodo (mulai $3,75/GB, sticky hingga 24 jam) adalah pilihan pasar menengah yang seimbang. IPRoyal (mulai $7,35/GB, sticky hingga 7 hari) cocok untuk skrip panjang dengan session yang stabil. SOAX ($3,60/GB, 155M+ residential + 33M+ mobile) menambahkan pool mobile yang kuat. Webshare (tier gratis, datacenter mulai $2,99/bln) adalah pilihan self-serve hemat, dan NetNut (mulai $3,53/GB) adalah pilihan untuk stabilitas ISP-residential.
Kesalahan Umum Proxy aiohttp
- Mengharapkan SOCKS5 native. aiohttp’s
proxy=hanya untuk HTTP, untuk SOCKS5 instalaiohttp_socksdan gunakanProxyConnector. - Mengasumsikan perilaku proxy sama di semua versi aiohttp. aiohttp versi terbaru menerima
ClientSession(proxy=...); pada versi lama Anda harus memberikanproxy=per request or usetrust_env=Truedengan env vars. - Tidak menetapkan timeout. Proxy yang mati dapat membuat coroutine terhenti; tetapkan
aiohttp.ClientTimeoutpada session atau request. - Concurrency berlebihan. Ribuan request serentak melalui satu gateway tetap terlihat abusif, batasi concurrency dengan
Semaphoredan atur jeda request. - IP datacenter pada target yang terlindungi , akan cepat diblokir; gunakan residential dan header yang realistis.
Proxy Rotating vs Sticky dengan aiohttp
Untuk web scraping async yang luas, gateway residential rotating ideal karena setiap koneksi memperoleh IP baru, yang sangat sesuai dengan concurrency tinggi aiohttp. Untuk alur stateful (login lalu panggilan lanjutan), pertahankan satu ClientSession dengan proxy sticky agar IP dan cookie yang sama tetap bertahan. Sebagian besar pekerjaan aiohttp adalah pengambilan data stateless bervolume tinggi, sehingga rotating menjadi pilihan default yang umum.
Jenis Proxy untuk aiohttp: Residential, Datacenter, atau Mobile?
- Residential ($1/GB) , adalah default untuk target yang terlindungi (e-commerce, SERP, media sosial). Jika Anda hanya memilih satu, pilih ini.
- Mobile ($2/GB) , IP operator sungguhan untuk target tersulit dan tampilan web mobile.
- Datacenter ($0,50/GB) , paling murah dan cepat untuk pekerjaan tanpa perlindungan, API, dan infrastruktur Anda sendiri; jangan arahkan ke situs yang sarat anti-bot.
DataImpulse menawarkan ketiganya dalam satu akun pay-as-you-go, sehingga satu crawler async dapat mengarahkan setiap request ke tier yang tepat melalui username dan endpoint.
Cara Memulai dengan DataImpulse + aiohttp
Langkah 1. Buat akun DataImpulse dan ambil kredensial residential. Paket perkenalan $5 / 5GB tidak pernah kedaluwarsa, sebuah anggaran pengujian sungguhan.
Langkah 2. Berikan proxy="http://YOUR_LOGIN__cr.us:[email protected]:823" ke session.get(), tambahkan kode negara untuk geo-targeting, dan gunakan aiohttp_socks + port 824 untuk SOCKS5.
Langkah 3. Batasi concurrency dengan Semaphore, tetapkan timeout, dan biarkan gateway rotating memberikan IP baru per koneksi. Lihat tutorial DataImpulse dan halaman proxy residential .
Pertanyaan Umum
Bagaimana cara menggunakan proxy dengan aiohttp?
Berikan proxy= ke request: session.get(url, proxy="http://user:pass@host:port"). Kredensial dalam URL digunakan secara otomatis, atau berikan proxy_auth=aiohttp.BasicAuth("user","pass") dengan URL proxy tanpa kredensial. Untuk DataImpulse: http://YOUR_LOGIN__cr.us:[email protected]:823.
Apakah aiohttp mendukung proxy SOCKS5?
Tidak secara native, parameter bawaan aiohttp proxy= hanya menangani proxy HTTP. Untuk SOCKS5, instal aiohttp_socks dan gunakan ProxyConnector: ProxyConnector.from_url("socks5://user:pass@host:824") yang diberikan ke ClientSession. DNS diurai melalui proxy untuk menghindari kebocoran. DataImpulse menyediakan SOCKS5 pada port 824.
Apa proxy terbaik untuk aiohttp?
Proxy residential untuk target yang terlindungi, DataImpulse seharga $1/GB adalah pilihan bernilai terbaik (HTTP/HTTPS/SOCKS5, 90M+ IP, lalu lintas yang tidak kedaluwarsa). Bright Data dan Oxylabs adalah opsi enterprise; Webshare paling murah untuk memulai. Semuanya berfungsi dengan argumen aiohttp proxy= (atau aiohttp_socks untuk SOCKS5); padukan dengan header realistis dan concurrency yang dibatasi.
Bagaimana cara menetapkan proxy untuk semua request aiohttp?
aiohttp versi terbaru menerima proxy untuk seluruh session melalui ClientSession(proxy="http://..."). Pada versi lama, berikan proxy= pada setiap request, atau gunakan ClientSession(trust_env=True) untuk membaca HTTP_PROXY/HTTPS_PROXY env vars. Untuk SOCKS5, tetapkan proxy pada connector.
Bagaimana cara merotasi proxy di aiohttp?
Arahkan proxy= ke gateway residential rotating (DataImpulse), setiap request serentak Anda memperoleh IP baru secara otomatis, yang sesuai dengan model async aiohttp. Untuk merotasi daftar statis, berikan URL proxy berbeda per request (misalnya random.choice()). Untuk alur stateful, gunakan satu proxy sticky dalam session.
Berapa biaya proxy aiohttp?
Residential mentah diberi harga per GB, DataImpulse $1/GB (batas harga terendah), NetNut mulai $3,53, SOAX $3,60, Decodo $3,75, Oxylabs mulai $6, IPRoyal $7,35; Webshare menawarkan langganan hemat mulai $3,50/bln. Halaman yang diambil hanya sebagian kecil dari GB, sehingga residential per GB jauh lebih murah daripada API managed per rekaman untuk web scraping ber-concurrency tinggi; opsi managed sesuai untuk target tersulit.
