Mengambil URL HTTP melalui proksi dengan PHP file_get_contents
Konfigurasikan pembalut strim HTTP PHP untuk proksi hadapan, termasuk pemformatan permintaan dan had konteks strim.
Untuk permintaan HTTP biasa tanpa cURL PHP, hantar konteks proksi kepada pembalut strim 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);
Gantikan titik akhir dokumentasi dengan proksi HTTP anda atau calon daripada senarai proksi HTTP. Antara muka konteks HTTP menjangka alamat TCP untuk proxy. request_fulluri=truemeletakkan URI destinasi penuh dalam baris permintaan, seperti yang diperlukan oleh banyak proksi hadapan. Had masa mengehadkan operasi strim di bawah peraturan pembalut tersebut.
Semak nilai yang dikembalikan dan amaran sebelum menghuraikan badan; bacaan yang gagal dan respons kosong yang berjaya memerlukan pengendalian berbeza. Mulakan diagnosis dengan satu destinasi HTTP ini dan permintaan terhad. HTTPS menambah terowong dan tingkah laku TLS yang mesti disemak untuk versi pembalut/PHP sebenar; contoh ini tidak membuktikan keupayaan tersebut.
Menghantar konteks pada panggilan ini memastikan laluan kelihatan dan mengelakkan perubahan pada bacaan URL yang tidak berkaitan. Konteks lalai dikongsi hanya sesuai apabila aplikasi memang mahu dasar itu; pustaka harus mengambil kira skopnya yang lebih luas.
Ini mengkonfigurasi strim PHP, bukan pemegang cURL yang dicipta secara berasingan, pelayar atau proses lain. Kenal pasti pengangkutan HTTP sebenar sesuatu pakej sebelum mengharapkannya menggunakan konteks ini.