Rumah > pembangunan bahagian belakang > tutorial php > Mengapa file_get_contents() Gagal dan Bagaimana cURL Boleh Membetulkan Ralat 'Permintaan HTTP Gagal'?

Mengapa file_get_contents() Gagal dan Bagaimana cURL Boleh Membetulkan Ralat 'Permintaan HTTP Gagal'?

Linda Hamilton
Lepaskan: 2024-12-10 07:41:13
asal
222 orang telah melayarinya

Why Does file_get_contents() Fail and How Can cURL Fix

Menyelesaikan PHP file_get_contents() Ralat “Permintaan HTTP Gagal”

Apabila cuba menggunakan file_get_contents() untuk mendapatkan semula kandungan daripada URL yang ditentukan, pengguna mungkin menghadapi ralat: "Amaran: file-get-contents() gagal membuka strim: Permintaan HTTP gagal HTTP/1.1 202 Diterima." Ralat ini timbul apabila permintaan HTTP tidak dapat dilaksanakan dengan jayanya.

Untuk menangani isu ini, pendekatan alternatif ialah menggunakan sambungan cURL. cURL menawarkan kawalan yang lebih besar ke atas permintaan HTTP dan membenarkan pilihan konfigurasi tambahan. Berikut ialah coretan kod yang diubah suai menggunakan cURL:

<?php

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

?>
Salin selepas log masuk

Dalam versi yang diubah suai ini, kami memanfaatkan fungsi cURL untuk memulakan permintaan HTTP. Kami mentakrifkan pemegang curl dan menetapkan pelbagai pilihan:

  • CURLOPT_URL: Menentukan URL sasaran.
  • CURLOPT_CONNECTTIMEOUT: Menetapkan tamat masa untuk menubuhkan sambungan.
  • CURLOPT_RETURNTRANSFER: Menunjukkan bahawa output harus dikembalikan sebagai rentetan.
  • CURLOPT_USERAGENT: Menetapkan ejen pengguna tersuai untuk permintaan.

Dengan menggunakan cURL, kami mendapat keuntungan kawalan yang lebih baik ke atas permintaan HTTP dan boleh menyelesaikan ralat "permintaan HTTP gagal" dengan berkesan yang dihadapi dengan file_get_contents().

Atas ialah kandungan terperinci Mengapa file_get_contents() Gagal dan Bagaimana cURL Boleh Membetulkan Ralat 'Permintaan HTTP Gagal'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan