“Proxy FTP” può indicare una gateway che parla FTP essa stessa. Connettersi a essa è diverso dal chiedere un CONNECT a un proxy HTTP o dal chiedere a un server SOCKS di aprire una destinazione TCP.

La gateway ha bisogno dell'host e dell'account di destinazione, e può aver bisogno prima del proprio accesso. I prodotti esprimono questa conversazione in modi diversi:

DisposizioneForma tipica del comando
Destinazione codificata nel nome utenteUSER target-user@target-host
Accesso separato alla gatewayUSER/PASS della gateway, poi l'accesso alla destinazione
Comando di destinazione esplicitoSITE target-host o OPEN target-host, poi l'accesso richiesto

Sono famiglie di convenzioni, non un'unica sequenza standard da inviare a ogni gateway. Scegli il metodo documentato dall'amministratore e supportato dal client.

Mantieni entrambi gli account visibili nella configurazione

La password FTP di destinazione e la password della gateway possono essere diverse. Alcune gateway le combinano in un'unica rappresentazione USER/PASS; altre richiedono scambi separati. Mettere ogni valore in un'unica stringa non può riprodurre un client che deve inviare comandi aggiuntivi.

Questo spiega un limite utile nel vecchio codice FtpWebRequest. Una normale connessione FTP alla gateway, con un nome utente specifico della gateway, può adattarsi ad alcune disposizioni USER/PASS. Una gateway che richiede una conversazione SITE o OPEN separata necessita di un client che supporti davvero quel flusso. La proprietà Proxy di WebRequest è ancora un'altra interfaccia.

WinSCP, per esempio, espone metodi di accesso FTP proxy distinti invece di trattare tutte le gateway come un unico campo host. I suoi valori numerici delle impostazioni grezze appartengono alla sua API documentata; usa il nome del metodo e la conversazione prevista quando esamini una configurazione.

Dopo l'accesso, il trasferimento dei file ha ancora bisogno della sua connessione dati FTP e della modalità TLS scelta. Un accesso riuscito sul canale di controllo è l'inizio di quel percorso, non la prova che ogni trasferimento dati sia già consentito.

Articoli correlati