Google app engine 谷歌应用引擎支持ftp吗?

Google app engine 谷歌应用引擎支持ftp吗?,google-app-engine,ftp,Google App Engine,Ftp,现在,我使用自己的Java FTP程序将对象从我的PC FTP到ISP的网站服务器 我想使用Google App Engine的servlet获取Paypal IPN消息,然后将消息存储到我自己的对象中,并将对象ftp到我的ISP的网站服务器,这可行吗?我听说谷歌应用引擎不支持FTP 我不希望谷歌为我做这件事,但我可以在我上传到应用引擎的web应用程序中使用我自己的Java FTP程序来做吗 Frank不,您不能打开任何套接字连接,除非在HTTP/HTTPS上使用以下端口范围: 80-90440

现在,我使用自己的Java FTP程序将对象从我的PC FTP到ISP的网站服务器

我想使用Google App Engine的servlet获取Paypal IPN消息,然后将消息存储到我自己的对象中,并将对象ftp到我的ISP的网站服务器,这可行吗?我听说谷歌应用引擎不支持FTP

我不希望谷歌为我做这件事,但我可以在我上传到应用引擎的web应用程序中使用我自己的Java FTP程序来做吗


Frank

不,您不能打开任何套接字连接,除非在HTTP/HTTPS上使用以下端口范围:

80-90440-4501024-65535

从那时起,这不再是问题。出站套接字(如FTP)通常可用于所有启用计费的应用程序


Socket API概述(Java):

如果将Apache Commons FTP客户端(org.Apache.Commons.net.FTP.FTPClient)置于被动模式,则可以使用它。只需执行以下操作:

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

这样它就不会调用ServerSocketFactory,生活应该是美好的

更新:下面的代码可能不再有效。这个FTP代码以前为我们工作过,但现在我们看到下面的评论说,App Engine不再支持FTP。请参阅下面的链接。如果您尝试此代码,但它对直接FTP有效或无效(顺便说一句,TLS不受支持)-请发表评论



对。FTP现在可以在谷歌应用程序引擎上运行。(公认的答案已经过时,不再正确。)

下面是在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)
#/usr/bin/env python
从google.appengine.ext导入webapp
从ftplib导入FTP
HwHandler类(webapp.RequestHandler):
def get(自我):
self.response.out.write('FTP启动…
')) ftp=ftp('ftp_site.com')) ftp.login('login','password') ftp.retrlines('LIST')#列出目录内容 self.response.out.write('FTP opened') ftp.quit() app=webapp.WSGIApplication([ (“/”,HwHandler) ],debug=True)

值得注意的是,FTP TLS目前似乎不起作用。(尝试执行“从ftplib导入FTP_TLS”失败。)

为什么不将数据托管在App Engine上?将文件FTPing到ISP网络主机似乎不必要的迂回。可能是因为数据托管在其他地方,是生成的,并且属于第三方?!这是否意味着sFTP也是可能的?请看这篇文章,因为FTP现在可以在谷歌应用程序引擎上运行。请参阅下面的答案了解工作代码。此外,如果您需要主动模式而不是被动模式,它仍然会被破坏(请尝试添加
ftp.set\u pasv(False)
,根据我对的回答。现在他们说FTP不受支持。F-U App Engine!截至2018年7月,Java 7似乎不支持它,但如果在标准环境中使用Java 8,则没有任何限制。