我需要知道我是否可以file_get_html
在 GAE 上的 php 中使用或任何等效功能?我知道它有一个叫做 URLFetch() 的东西,但我无法理解如何从 php 文件中调用它。
有什么帮助吗?
我需要知道我是否可以file_get_html
在 GAE 上的 php 中使用或任何等效功能?我知道它有一个叫做 URLFetch() 的东西,但我无法理解如何从 php 文件中调用它。
有什么帮助吗?
您不能在 Google App Engine 上运行 PHP。您可以创建一个 servlet,它将从任何给定的 URL 读取并以您需要的任何方式在 Java 中操作数据(因为您使用 Java 标记标记了这个问题)。
从AppEngine URL Fetch Java API Overview:
URL url = new URL("http://www.example.com/atom.xml");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
// ...
}
reader.close();
如果您的意思是您正在另一个应用程序中运行 PHP,并且您希望从所述 PHP 应用程序调用您的 AppEngine servlet,那么您可以将执行此 URL 获取的 servlet 映射到您的 AppEngine 应用程序中的一个 URL,然后从您的 PHP 中点击该 URL应用。然而,这似乎是一个糟糕的设计,因为您正在进行两次网络调用,而您原本可以在 PHP 应用程序中使用 done 。
这是我通过 Google App Engine 上的 Quercus 使用 PHP 为 URL Fetch 创建的快速而肮脏的包装函数:
function fetch_url($url){
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
$java_url = new URL($url);
$java_bufferreader = new BufferedReader(new InputStreamReader($java_url->openStream()));
while (($line = $java_bufferreader->readLine()) != null) {
$content .= $line;
}
return $content;
}
// Sample usage:
echo fetch_url('http://google.com');
希望这可以帮助像我一样迷路的人。