EPSV elimina un problema de dirección FTP, no la segunda conexión
Entienda el extremo de datos pasivo cuando el inicio de sesión FTP funciona a través de un proxy pero la lista o la configuración de la transferencia falla.
EPSV sigue abriendo una conexión de datos FTP independiente. Cambia la información del extremo, no el número de conexiones.
Una respuesta PASV tradicional proporciona una dirección y un puerto. Esa dirección puede ser inutilizable fuera de la red del servidor. EPSV proporciona un puerto y utiliza la dirección del servidor asociada a la conexión de control.
A través de un proxy, mantenga la identidad lógica del servidor FTP. La dirección de escucha del intermediario no es automáticamente el servidor que posee el puerto de datos devuelto.
La conexión de datos también necesita la ruta de proxy prevista y permiso para alcanzar el puerto elegido. Aceptar un CONNECT al puerto de control FTP no permite todas las conexiones de datos posteriores.
Antes de desactivar EPSV, inspeccione la respuesta pasiva y la dirección del servidor y el puerto solicitados para la transferencia. Un inicio de sesión FTP correcto establece la conexión de control; deja la conexión de datos para comprobar. Con Python ftplib, siga ambos constructores de socket en lugar de confiar solo en un valor predeterminado de PySocks.