我正在开发用于php的谷歌应用引擎上的应用程序,我需要使用file_get_contents来解析网站。
但是,我的服务器遇到了问题。 例如,我运行一行代码,如下所示:
<?php
$html = file_get_contents('http://www.google.com');
?>
服务器返回警告,无法执行我打算执行的操作。
警告:file_get_contents():php_network_getaddresses:getaddrinfo failed:数据库查找期间发生了不可恢复的错误。在第3行的C:\ gae_work \ helloworld \ helloworld.php
警告:file_get_contents(http://www.google.com):无法打开流:php_network_getaddresses:getaddrinfo failed:数据库查找期间发生了不可恢复的错误。在第3行的C:\ gae_work \ helloworld \ helloworld.php
有类似的经历吗?请!
答案 0 :(得分:1)
表格Google App Engine文档
当您的应用程序在计算机上的开发服务器中运行时,将在本地处理对URL提取服务的调用。开发服务器通过直接从您的计算机联系远程主机来获取URL,使用您的计算机用于访问Internet的任何网络配置。
在测试获取网址的应用功能时,请确保这样做 您的计算机可以访问远程主机。
如果您的应用使用Google安全数据连接器访问Intranet上的网址,请确保在连接到防火墙后面的Intranet时测试您的应用。与App Engine不同,开发服务器不使用SDC代理来解析Intranet URL。只有Google Apps和App Engine可以通过您的SDC代理进行身份验证。
更多:https://developers.google.com/appengine/docs/php/urlfetch/
我认为您需要在安装中检查allow_url_fopen是否已打开。
答案 1 :(得分:0)
如果您只想向网址提交GET数据,则应使用简单明了的内容,例如
file_get_contents();
$myGetData = "?param1=param_val1¶m2=param_val2";
file_get_contents($url.$myGetData);