J'accède à l'API Google pour obtenir une géolocalisation.
Le point final ressemble à ceci :
https://maps.googleapis.com/maps/api/geocode/xml?address=84100+ORANGE+FR&key=apikey
Si j'ouvre ce lien dans le navigateur Chrome, l'API renverra certaines données.
Si j'y accède en utilisant file_gets_content ou simplexml_load_file, il renvoie "zéro résultat".
Après quelques tests, j'ai découvert que je pouvais voir les résultats sur Chrome car le navigateur lui-même était réglé sur l'italien. Si je le règle en anglais, il renvoie "zéro résultat", comme PHP.
Comment obtenir les mêmes résultats en PHP qu'en Chrome ?
En fait, j'ai trouvé le problème ici.
Fondamentalement, lorsque j'ai réglé Chrome sur l'italien, cela a probablement réorganisé l'ordre des paramètres, renvoyant des résultats différents.
Le vrai problème vient du paramètre d'adresse, où la ville précède le code postal.
De plus, l'ajout du paramètre &langue=it peut fonctionner pour la même raison.
Par conséquent, l'URL correcte devrait être
https://maps.googleapis.com/maps/api/geocode/xml?address=ORANGE+84100+FR&key=apikey
J'ai passé trop de temps à déboguer ce problème.