Google app engine 权限被拒绝:未经许可尝试绑定端口。文件传输协议

Google app engine 权限被拒绝:未经许可尝试绑定端口。文件传输协议,google-app-engine,ftp,urlconnection,Google App Engine,Ftp,Urlconnection,我正在尝试使用java.net.URLConnection通过匿名身份验证从ftp服务器检索文件 try { url = new URL("ftp://ftp2.sat.gob.mx/Certificados/FEA/000010/000002/02/03/05/00001000000202030500.cer"); URLConnection con = url.openConnection(); InputStream in = co

我正在尝试使用java.net.URLConnection通过匿名身份验证从ftp服务器检索文件

    try {
        url = new URL("ftp://ftp2.sat.gob.mx/Certificados/FEA/000010/000002/02/03/05/00001000000202030500.cer");
        URLConnection con = url.openConnection();

        InputStream in = con.getInputStream();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer = new byte[4096];
        int bytesRead;
        while ((bytesRead = in.read(buffer)) >= 0)
        {
            baos.write(buffer, 0, bytesRead);
        }
        baos.flush();
        arr = baos.toByteArray();

        in.close();
    } catch (Exception e) {
        throw new Exception("Error SAT: " + e.getMessage());
    }
我试图获取的文件是这样的,它位于匿名身份验证ftp站点中:

但每次我遇到这个错误: 权限被拒绝:未经许可尝试绑定端口。

我正在使用GoogleAppEngineJava1.7


欢迎您提供任何建议。

根据,您很可能有一个未启用计费的应用程序,如果您没有预算,您只需启用计费,将限额设置为0美元。

我不是Java爱好者,但我怀疑您正在尝试使用“活动”FTP,这可能是默认设置

主动FTP通过绑定到接收计算机(本例中为客户端)上的端口工作,发送服务器可以连接到该端口发送文件;端口号在
get
请求中发送。这在许多环境中都不起作用,例如NAT


通常的解决方案是使用“被动”模式,其行为更像HTTP,不需要任何端口绑定。如果Java中有一种方法可以使用被动模式旋转该连接,它应该绕过权限问题。

我的应用程序已启用计费功能。非常感谢,这不是我的解决方案,它为我提供了一条路径。你能分享你的解决方案吗?我有同样的问题,我无法连接到FTP