2010-04-22 122 views
6

現在我使用自己的Java FTP程序從我的PC上將對象ftp到我的ISP的網站服務器。Google App Engine是否支持ftp?

我想使用Google App Engine的servlet來獲取PayPal IPN消息,然後將消息存儲到我自己的對象中,並將這些對象存儲到我的ISP的網站服務器,這是可行的嗎?我聽說Google App Engine不支持FTP。

我不希望Google爲我做這件事,但是我可以在我上傳到App Engine上的網絡應用程序中使用我自己的Java FTP程序來做到這一點嗎?

弗蘭克

+0

爲什麼不只是託管數據_on_ App Engine?將文件FTP到ISP虛擬主機似乎不必要的迂迴。 – 2010-04-22 20:47:21

+0

也許是因爲數據託管在其他地方,是否生成並屬於第三方? – ZiglioUK 2015-03-10 01:39:19

回答

8

不,你不能打開,除了通過對HTTP/HTTPS使用URL Fetch service這些端口的套接字連接範圍:

80-90,440-450,1024-65535

+1

FTP現在適用於Google App Engine。有關工作代碼,請參閱下面的答案。 – Praxiteles 2014-11-12 03:21:59

5

April 9 this year (SDK 1.7.7)開始,這不再是問題。出站套接字(例如FTP)通常可用於所有啓用結算功能的應用程序。

的Socket API概述(Java):https://developers.google.com/appengine/docs/java/sockets/

+0

「計費啓用」是關鍵短語... – Drux 2014-05-06 14:49:27

+0

這是否意味着sFTP也有可能? – Praxiteles 2014-07-16 07:53:46

+0

請參閱[Python](https://developers.google.com/appengine/docs/python/sockets/) – hyip 2015-04-15 01:55:13

-1

您可以使用Apache Commons FTP客戶端(org.apache.commons.net.ftp.FTPClient)如果你把它變成被動模式。只要做到以下幾點:

FTPClient client = new FTPClient(); 
    client.connect(FTP_HOST); 
    client.enterLocalPassiveMode(); 

然後,它不會打電話ServerSocketFactory,生活應該不錯!

3

更新:我們下面的代碼可能不再有效。此FTP代碼之前爲我們工作,但我們現在在下面看到一條評論,說在App Engine上不再支持FTP。請參閱下面的鏈接。如果您嘗試使用此代碼,並且它對您的FTP不起作用或不適用於直接FTP(TLS不支持BTW) - 請發表評論。


是的。 FTP現在適用於Google App Engine。 (接受的答案已過時,不再成立。)

這裏是GAE上的測試和工作代碼。

#!/usr/bin/env python 
from google.appengine.ext import webapp 
from ftplib import FTP 

class HwHandler(webapp.RequestHandler): 
       def get(self): 
        self.response.out.write('FTP Starting...<br>') 
        ftp = FTP('ftp_site.com') 
        ftp.login('login', 'password') 
        ftp.retrlines('LIST') # list directory contents 
        self.response.out.write('FTP opened') 
        ftp.quit() 

app = webapp.WSGIApplication([ 
    ('/', HwHandler) 
], debug=True) 

值得注意的是,FTP TLS目前似乎無法正常工作。 (試圖做「從ftplib導入FTP_TLS」失敗。)

+0

此外,如果您需要主動模式而不是被動模式,它仍然會中斷(嘗試添加一個'ftp.set_pasv(假)',根據我的回答http://stackoverflow.com/questions/28264627/unable-to-dowload-csv-file-from-ftp-server-in-app-engine/28266330#28266330。 – 2015-02-01 18:46:31

+4

現在他們'說FTP不被支持。FU App Engine!https://cloud.google.com/appengine/docs/java/sockets/ – ZiglioUK 2016-05-15 04:52:01

相關問題