Untuk permintaan HTTP biasa tanpa cURL PHP, teruskan konteks proxy ke pembungkus stream HTTP:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

Ganti endpoint dokumentasi dengan proxy HTTP Anda atau kandidat dari daftar proxy HTTP. Antarmuka konteks HTTP mengharapkan alamat TCP untuk proxy. request_fulluri=truemenempatkan URI tujuan lengkap di baris permintaan, seperti yang dibutuhkan banyak proxy penerus. Batas waktu membatasi operasi stream menurut aturan pembungkus tersebut.

Periksa nilai yang dikembalikan dan peringatan sebelum mengurai isi; pembacaan yang gagal dan respons kosong yang berhasil memerlukan penanganan berbeda. Mulai diagnosis dengan satu tujuan HTTP ini dan permintaan terbatas. HTTPS menambahkan terowongan dan perilaku TLS yang harus diperiksa untuk versi pembungkus/PHP yang sebenarnya; contoh ini tidak membuktikan kemampuan tersebut.

Meneruskan konteks pada panggilan ini menjaga rute tetap terlihat dan menghindari perubahan pembacaan URL yang tidak terkait. Konteks default bersama hanya sesuai jika aplikasi memang menginginkan kebijakan itu; pustaka harus memperhitungkan cakupannya yang lebih luas.

Ini mengonfigurasi stream PHP, bukan handle cURL yang dibuat secara terpisah, peramban, atau proses lain. Identifikasi transport HTTP sebenarnya dari sebuah paket sebelum mengharapkannya memakai konteks ini.

Artikel terkait