Sockets are now available in the App Engine. You can use the ftp client library in App Engine, but there is one caveat. Only passive mode will work. In addition, in passive mode, sometimes the second connection will try to connect from a different IP address, which some servers ignore (for example, ftp.kernel.org). If this fails, try again, in the end you will get the same IP address and the transfer will work.
source share