Cara menggunakan proxy di python dan javascript

Hi, apakah kamu menemui masalah saat mengakses sebuat situs di program anda? Baiklah kita akan bahas sebuah materi yaitu cara menggunakan proxy di python dan javascript. Lets gooo.

Apa itu proxy?

Proxy adalah sistem komputer atau komputer server yang dibuat sebagai jembatan antara perangkat kamu dan jaringan. Proxy sebagai penengah sehingga dapat menyembunyikan ip asli kamu dari alamat yang kamu cari. Contoh: Kamu mengakses situs x dengan IP address 182.1.1.1. Maka situs x akan mengetahui IP mu adalah 182.1.1.1. Jika kamu menggunakan proxy, jadi prosesnya yaitu kamu mengakses situs x dengan melalui sebuah server perantara sehingga situs akan mengetahui IP mu bukan 182.1.1.1 tapi IP dari proxy misal 49.2.2.2.

Apa kegunakan proxy?

Banyak sekali kegunaan proxy ini, tapi kali ini saya akan beri contoh pada kasus yang sering saya tahu dan temui dimana banyak situs yang menerapkan:

  1. Seleksi negara, jadi tidak semua situs luar negeri bisa diakses oleh IP dari Indonesia
  2. Situs menerapkan limit requests. Beberapa situs menerapkan kita tidak boleh mencari suatu info atau laporan lebih dari 10x sehari.
  3. IP kita terblokir karena dicurigai melakukan hal yang merugikan suatu situs.

Bagaimana cara menggunakan proxy di bahasa pemrograman python?

Saya akan menggunakan library populer yaitu ‘requests’ untuk memanggil sebuah url. Berikut cara menggunakanya:

import requests

url = 'http://example.com'  # Replace this with the URL you want to call

proxy_url = 'proxy_host:proxy_port'
proxy_user = 'username'
proxy_pass = 'password'

proxies = {
    'http': f'http://{proxy_user}:{proxy_pass}@{proxy_url}',
    'https': f'http://{proxy_user}:{proxy_pass}@{proxy_url}'
}

try:
    response = requests.get(url, proxies=proxies)

    if response.status_code == 200:
        print("Request successful!")
        print("Response content:")
        print(response.text)
    else:
        print(f"Request failed with status code: {response.status_code}")

except requests.exceptions.RequestException as e:
    print(f"Request error: {e}")

Bagaimana cara menggunakan proxy di bahasa pemrograman javascript?

Untuk javacript, saya akan menggunakan library axios, dan bantuan library ‘tunnel’. semua bisa diinstall melalui NPM. berikut adalah codenya.

function getTunnelAgent(proxy_credentials){
    let username = proxy_credentials.split('@')[0].split(':')[0]
    let password = proxy_credentials.split('@')[0].split(':')[1]
    let ip = proxy_credentials.split('@')[1].split(':')[0]
    let port = proxy_credentials.split('@')[1].split(':')[1]

    return tunnel.httpsOverHttp({
        proxy: {
            host: ip,
            port: port,
            proxyAuth: `${username}:${password}`,
        },
        rejectUnauthorized: false,
    })
}
    
let config = {
    headers: headers,
    timeout: 10000,
    httpsAgent: getTunnelAgent(proxy_username:proxy_password@proxy_host:proxy_port)
}
let response = await axios.get(url, config);

Okay, diatas adalah cara menggunakan proxy di 2 bahasa. Ini berguna jika kita butuh mengakses sebuah situs tapi terkendala dengan masalah yang mungkin salah satu dari yang telah saya sebutkan diatas. Sekian dari saya, semoga bermanfaat, kita bertemu di kesempatan berikutnya.

written by:
@akhisyabab