首页  >  问答  >  正文

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 天前591

全部回复(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
  • 取消回复