@@ -452,31 +452,25 @@ def cmd_PORT(socket, *args):
452
452
453
453
def cmd_PASV (socket , * args ):
454
454
"""Envía el comando PASV al servidor FTP para establecer el modo pasivo (el servidor escucha conexiones y el cliente la inicia)."""
455
- args_len = len (args )
456
- response = argument_handler (0 ,0 ,args_len )
457
- if response == "200" :
458
- try :
459
- response = send (socket , 'PASV' )
460
- # Extraer la dirección IP y el puerto del servidor
461
- print (response )
462
- match = re .search (r'(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)' , response )
463
- if match :
464
- ip_parts = [int (x ) for x in match .groups ()[:4 ]]
465
- port = int (match .group (5 )) * 256 + int (match .group (6 ))
466
- data_socket = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
467
- data_socket .connect ((socket .inet_ntoa (bytes (ip_parts )), port ))
468
- print ('225: Conexión establecida, sin transferencia en proceso.' )
469
- PASV_MODE = 1
470
- return data_socket
471
- else :
472
- print ('425: No se ha podido establecer una conexión de transferencia de datos con el Host.' )
473
- return None
474
- except Exception as e :
475
- print (f'No se pudo establecer el modo pasivo: { e } ' )
476
- return None
477
- else :
455
+ try :
456
+ response = send (socket , 'PASV' )
457
+ # Extraer la dirección IP y el puerto del servidor
478
458
print (response )
479
- return None
459
+ match = re .search (r'(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)' , response )
460
+ if match :
461
+ ip_parts = [int (x ) for x in match .groups ()[:4 ]]
462
+ port = int (match .group (5 )) * 256 + int (match .group (6 ))
463
+ data_socket = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
464
+ data_socket .connect ((socket .inet_ntoa (bytes (ip_parts )), port ))
465
+ print ('225: Conexión establecida, sin transferencia en proceso.' )
466
+ PASV_MODE = 1
467
+ return data_socket
468
+ else :
469
+ print ('425: No se ha podido establecer una conexión de transferencia de datos con el Host.' )
470
+ return None
471
+ except Exception as e :
472
+ print (f'No se pudo establecer el modo pasivo: { e } ' )
473
+ return None
480
474
481
475
# Información del sistema:
482
476
def cmd_SYST (socket , * args ):
0 commit comments