我需要知道是否有任何方法可以在GAE上使用file_get_html
或任何等效函數?我知道它有一個名爲URLFetch()的東西,但我無法理解我將如何從一個PHP文件調用它。在Google App Engine中從PHP文件中獲取文件
任何幫助?
我需要知道是否有任何方法可以在GAE上使用file_get_html
或任何等效函數?我知道它有一個名爲URLFetch()的東西,但我無法理解我將如何從一個PHP文件調用它。在Google App Engine中從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和你想打電話給你的AppEngine Servlet中說PHP應用程序,那麼你可以映射執行這個URL抓取的servlet到您的AppEngine應用程序中的URL,然後從您的PHP應用程序中點擊該URL。然而,這似乎是一個糟糕的設計,因爲當你剛剛在PHP應用程序中使用它時,你正在進行兩次網絡調用。
嗨@Jonathan,我不是那麼無知。 [Quercus](http://www.caucho.com/resin-3.0/quercus/)是我已經在我的系統上配置的PHP的純Java實現。 –
這裏是我的URL創建了一個快速和骯髒的包裝函數取栓皮櫟通過在谷歌App Engine的使用PHP:
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');
希望這可以幫助別人誰是失去了,因爲我是。
是的,你可以在PHP中使用file_get_contents&friends,它在內部使用urlfetch。 – Mars