0

我正在为 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 失败:数据库查找期间发生不可恢复的错误。在第 3 行的 C:\gae_work\helloworld\helloworld.php

有没有类似的经历?请!

4

2 回答 2

1

形成 Google App Engine 文档

URL 获取和开发服务器

当您的应用程序在您计算机上的开发服务器中运行时,对 URL Fetch 服务的调用将在本地处理。开发服务器通过直接从您的计算机联系远程主机来获取 URL,使用您的计算机用于访问 Internet 的任何网络配置。

在测试您的应用程序获取 URL 的功能时,请确保您的计算机可以访问远程主机。

如果您的应用程序使用 Google 安全数据连接器访问 Intranet 上的 URL,请确保在连接到防火墙后的 Intranet 时测试您的应用程序。与 App Engine 不同,开发服务器不使用 SDC 代理来解析 Intranet URL。只有 Google Apps 和 App Engine 可以通过您的 SDC 代理进行身份验证。

更多:https ://developers.google.com/appengine/docs/php/urlfetch/

我认为您需要检查allow_url_fopen在您的安装中是否打开。

于 2013-06-19T06:39:00.423 回答
0

如果您只想将 GET 数据提交到 URL,则应该使用简单的方法,例如

file_get_contents();

$myGetData = "?param1=param_val1&param2=param_val2";
file_get_contents($url.$myGetData);
于 2013-06-19T06:42:34.410 回答