EPSV usuwa problem z adresem FTP, a nie drugie połączenie
Zrozum pasywny punkt końcowy danych, gdy logowanie FTP działa przez proxy, ale listowanie lub przygotowanie transferu kończy się niepowodzeniem.
EPSV nadal otwiera osobne połączenie danych FTP. Zmienia informacje o punkcie końcowym, a nie liczbę połączeń.
Tradycyjna odpowiedź PASV podaje adres i port. Ten adres może być bezużyteczny poza siecią serwera. EPSV podaje port i używa adresu serwera powiązanego z połączeniem sterującym.
Przez proxy zachowaj logiczną tożsamość serwera FTP. Adres nasłuchu pośrednika nie jest automatycznie serwerem, do którego należy zwrócony port danych.
Połączenie danych potrzebuje też zamierzonej trasy proxy i zgody na dotarcie do wybranego portu. Przyjęcie CONNECT na port sterujący FTP nie zezwala na każde kolejne połączenie danych.
Przed wyłączeniem EPSV sprawdź odpowiedź pasywną oraz adres serwera i port żądane dla transferu. Udane logowanie FTP ustanawia połączenie sterujące; połączenie danych pozostaje do sprawdzenia. W Python ftplib śledź oba konstruktory gniazd, zamiast polegać wyłącznie na domyślnym zachowaniu PySocks.