Dengan PHP, apakah mungkin mengirim header HTTP dengan file_get_contents()
?
Saya tahu Anda dapat mengirim agen pengguna dari php.ini
file Anda . Namun, Anda dapat juga mengirimkan informasi lain seperti HTTP_ACCEPT
, HTTP_ACCEPT_LANGUAGE
, dan HTTP_CONNECTION
dengan file_get_contents()
?
Atau adakah fungsi lain yang akan melakukannya?
php
http-headers
Marcus
sumber
sumber
file_get_contents()
? apakah itu menentukan satu?ini_set('user_agent', 'SomeBrowser v42.0.4711');
buka user-agent.me dan salin milik Anda dari sana .. atau edit php.ini untuk mengubahnya secara globalInilah yang berhasil bagi saya (Dominic hanya satu baris pendek).
sumber
header
akan menimpauser_agent
elemen array, jika keduanya ditentukan.Anda dapat menggunakan variabel ini untuk mengambil header respons setelahnya
file_get_contents()
fungsi.Kode:
Keluaran:
sumber
Iya.
Saat memanggil
file_get_contents
URL, seseorang harus menggunakanstream_create_context
fungsi, yang didokumentasikan dengan cukup baik di php.net.Ini kurang lebih persis dibahas pada halaman berikut di php.net di bagian komentar pengguna: http://php.net/manual/en/function.stream-context-create.php
sumber
Menggunakan pustaka php cURL mungkin akan menjadi cara yang tepat, karena pustaka ini memiliki lebih banyak fitur daripada yang sederhana
file_get_contents(...)
.Sebuah contoh:
sumber
file_get_contents
dan saya belum menemukan Kasus Penggunaan yang hanya dapat Anda capai dengan cURL.Jika Anda tidak membutuhkan HTTPS dan curl tidak tersedia di sistem Anda, Anda dapat menggunakan
fsockopen
Fungsi ini membuka koneksi dari mana Anda dapat membaca dan menulis seperti yang Anda lakukan dengan pegangan file biasa.
sumber
file_get_contents
jadi ini agak merupakan jawaban di luar topik.Sayangnya, sepertinya tidak
file_get_contents()
benar benar menawarkan tingkat kendali itu. Ekstensi cURL biasanya yang pertama muncul, tetapi saya akan sangat merekomendasikan ekstensi PECL_HTTP ( http://pecl.php.net/package/pecl_http ) untuk permintaan HTTP yang sangat sederhana dan mudah. (jauh lebih mudah untuk dikerjakan daripada cURL)sumber