Saya sedang mengakses Google API untuk mendapatkan beberapa geolokasi.
Titik akhir kelihatan seperti ini:
https://maps.googleapis.com/maps/api/geocode/xml?address=84100+ORANGE+FR&key=apikey
Jika saya membuka pautan ini dalam penyemak imbas Chrome, API akan mengembalikan beberapa data.
Jika saya mengaksesnya menggunakan file_gets_content atau simplexml_load_file ia mengembalikan "hasil sifar".
Selepas beberapa ujian, saya mendapati bahawa saya dapat melihat hasilnya pada Chrome kerana penyemak imbas itu sendiri ditetapkan kepada bahasa Itali. Jika saya menetapkannya kepada bahasa Inggeris ia mengembalikan "hasil sifar", sama seperti PHP.
Bagaimana untuk mendapatkan hasil yang sama dalam PHP seperti dalam Chrome?
Saya sebenarnya menemui masalah di sini.
Pada asasnya, apabila saya menetapkan Chrome kepada bahasa Itali, ia mungkin menyusun semula susunan parameter, mengembalikan hasil yang berbeza.
Masalah sebenar adalah dengan parameter alamat, di mana bandar berada sebelum poskod.
Selain itu, menambah parameter &language=ia mungkin berfungsi untuk sebab yang sama.
Oleh itu, URL yang betul hendaklah
https://maps.googleapis.com/maps/api/geocode/xml?address=ORANGE+84100+FR&key=apikey
Saya menghabiskan terlalu banyak masa menyahpepijat isu ini.