Google app engine 谷歌应用引擎支持ftp吗?
现在,我使用自己的Java FTP程序将对象从我的PC FTP到ISP的网站服务器 我想使用Google App Engine的servlet获取Paypal IPN消息,然后将消息存储到我自己的对象中,并将对象ftp到我的ISP的网站服务器,这可行吗?我听说谷歌应用引擎不支持FTP 我不希望谷歌为我做这件事,但我可以在我上传到应用引擎的web应用程序中使用我自己的Java 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
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,则没有任何限制。