我发送请求到谷歌地图api服务来计算这个网址的距离:
$apiURL = "http://maps.google.com/maps/geo?&output=xml&key=AIzaSyCYz5Kpw4xTYVwAUibaMIUVBcaL-RfTumk&q=myAddress"
我正在尝试使用file_get_contents($apiURL)
和&它与我的本地系统配合得很好。当我将相同的文件上传到服务器时,file_get_contents($apiURL)
的输出看起来是空的&给错误像 -
警告:
file_get_contents(http://maps.google.com/maps/geo?&output=xml&key=AIzaSyCYz5Kpw4xTYVwAUibaMIUVBcaL-RfTumk&q=Aerekere
%2Cbangalore%2Ckarnataka) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /mnt/stor2-wc1-dfw1/410304/hfg.mpadusa.com/web/content/components/com_helping/controllers/distance.php
on line 108.
我检查了几件事情,比如
我可能会遇到什么问题。任何帮助都非常感谢。
答案 0 :(得分:1)
file_get_contents通常在Web服务器上被禁用/阻止。
作为一种良好的做法,始终使用curl函数来获取外部内容,包括调用google API。您可以在网上找到大量使用curl的示例,但一个简单的起点是手册:http://au2.php.net/curl_exec