1

我需要知道我是否可以file_get_html在 GAE 上的 php 中使用或任何等效功能?我知道它有一个叫做 URLFetch() 的东西,但我无法理解如何从 php 文件中调用它。

有什么帮助吗?

4

2 回答 2

0

您不能在 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 。

于 2011-09-30T20:03:23.470 回答
0

这是我通过 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');

希望这可以帮助像我一样迷路的人。

于 2012-02-21T17:50:06.023 回答