首頁  >  問答  >  主體

PHP - 瀏覽器和file_get_contents回傳結果不一致

我正在訪問Google API以獲取一些地理位置。

端點看起來像這樣:

https://maps.googleapis.com/maps/api/geocode/xml?address=84100 ORANGE FR&key=apikey

如果我在Chrome瀏覽器中打開此鏈接,API將返回一些資料。

如果我使用file_gets_content或simplexml_load_file來存取它,它將傳回「零結果」。

經過一些測試,我發現我可以在Chrome上看到結果,因為瀏覽器本身設定為義大利語。如果我將其設為英語,它將返回“零結果”,與PHP相同。

如何在PHP中獲得與Chrome相同的結果?

P粉116654495P粉116654495374 天前594

全部回覆(1)我來回復

  • P粉996763314

    P粉9967633142023-09-15 16:03:36

    我實際上在這裡找到了問題。

    基本上,當我將Chrome設定為義大利語時,它可能重新排列了參數的順序,並傳回了不同的結果。

    實際的問題在於地址參數,其中城市在郵編之前。

    另外,新增參數&language=it可能出於同樣的原因而運作。

    因此,正確的URL應該是

    https://maps.googleapis.com/maps/api/geocode/xml?address=ORANGE 84100 FR&key=apikey

    我花了太多時間來調試這個問題。

    回覆
    0
  • 取消回覆