ID region
REGION_ID
adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r
disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
Halaman ini menjelaskan cara menerbitkan permintaan HTTP(S) dari aplikasi App Engine Anda.
App Engine menggunakan layanan URL-Fetch untuk menerbitkan permintaan HTTP(S) keluar. Untuk mengetahui detail tentang batas ukuran permintaan dan header mana yang dikirim pada permintaan URL Fetch, lihat Permintaan Keluar.Menerbitkan permintaan HTTP
Bahasa PHP menyediakan beberapa fungsi untuk membuat permintaan HTTP jarak jauh. Tindakan ini diterapkan dengan berbagai cara di Google App Engine, dan bergantung pada kuota dan biaya yang berbeda:
- Pengendali stream:
http://
native dan pada pengendali stream PHPhttps://
dikonfigurasi untuk menggunakan Layanan URL-Fetch App Engine untuk membuat permintaan HTTP. Banyak fungsi PHP seperti file_get_contents() menggunakan pengendali stream secara tidak langsung, sehingga juga menggunakan layanan URL-Fetch. - Ekstensi cURL: Ekstensi cURL menggunakan layanan Socket. Ekstensi cURL harus diaktifkan di file php.ini dan penagihan aplikasi Anda harus diaktifkan untuk project Anda.
- cURL "lite": cURL "lite" adalah versi library cURL yang disediakan Google yang menggunakan layanan URL-Fetch, bukan layanan Sockets. Anda harus mengaktifkan cURL "lite" di file php.ini aplikasi Anda.
Metode ekstensi cURL berikut tidak didukung:
- fungsi
curl_multi_*
- dukungan untuk protokol non-standar
- dukungan untuk port selain 80 (HTTP) atau 443 (HTTPS)
- fungsi
Menentukan apakah akan menggunakan cURL, cURL Lite, atau wrapper stream sangat bergantung pada aplikasi dan preferensi Anda. Jika Anda tidak yakin, gunakan library HTTP Guzzle. Guzzle menyediakan lapisan abstraksi untuk permintaan HTTP, sehingga Anda dapat mengubah layanan dasar tanpa menulis ulang kode aplikasi.
Pengendali stream
Pengendali stream HTTP(S) standar digunakan dalam fungsi PHP bawaan seperti fopen()
dan file_get_contents()
.
cURL dan cURL "lite"
Aktifkan cURL atau cURL "lite" di php.ini untuk menggunakan fungsi cURL untuk permintaan keluar. cURL "lite" menggunakan layanan URL-Fetch, sedangkan cURL menggunakan Sockets API
Guzzle
Secara default, Guzzle menggunakan pengendali stream PHP, tetapi akan otomatis menggunakan pengendali cURL jika cURL atau cURL "lite" diaktifkan.
Menyetel waktu tunggu permintaan
Gunakan opsi timeout
dalam konteks HTTP untuk mengubah batas waktu.
Menonaktifkan pengalihan
Jika Anda menggunakan URL Fetch, layanan URL-Fetch dasar akan mengikuti hingga lima pengalihan secara default. Pengalihan ini dapat meneruskan informasi sensitif, seperti header otorisasi, ke tujuan yang dialihkan. Jika aplikasi Anda tidak memerlukan pengalihan HTTP, sebaiknya nonaktifkan pengalihan.
Untuk menginstruksikan layanan URL-Fetch agar tidak mengikuti pengalihan, aplikasi Anda harus menetapkan parameter follow_location
di opsi konteks HTTP ke false
.
Menerbitkan permintaan HTTPS
Lihat Menerbitkan Permintaan HTTP di atas.
Menonaktifkan validasi sertifikat host
Secara default, penerapan App Engine wrapper HTTPS mencoba memvalidasi sertifikat host, dan menolak permintaan yang sertifikatnya tidak cocok. Untuk menonaktifkan perilaku ini, tetapkan nilai verify_peer
ke false
di opsi konteks SSL/TLS.
Menerbitkan permintaan ke aplikasi App Engine lain
Saat menerbitkan permintaan ke aplikasi App Engine lain, aplikasi App Engine Anda harus menegaskan identitasnya dengan menambahkan header X-Appengine-Inbound-Appid
ke permintaan tersebut.
Jika Anda menginstruksikan layanan URL-Fetch untuk tidak mengikuti pengalihan, App Engine akan otomatis menambahkan header ini ke permintaan.
Lihat Menonaktifkan pengalihan untuk mendapatkan panduan tentang cara menonaktifkan pengalihan.
Langkah selanjutnya
Pelajari layanan URL-Fetch, seperti header yang dikirim dalam permintaan URL Fetch di Permintaan Keluar.