20/09/11 13:15
trattobasso
Ciao a tutti,
vi espongo un problema che non riesco ad interpretare (ignoranza sicuramente).
Dunque, il mio programma effettua una connesione ftp in una determinata cartella e in una listview visualizzo la lista dei file presenti in ftp.
Funziona tutto ma ci vogliono circa 25 sec solo per effettuare l'accesso e qualche istante per visualizzare la lista dei file, quindi la maggior parte del tempo viene impiegato per effettuare l'accesso.
Di seguito il codice che ho utilizzato.
Ho scritto al mio provider per chiedere consiglio e mi hanno risposto così:
La informo che l'accesso effettuato dal Suo script comporta un passaggio dalla porta 80 andando a simulare il comportamento di un browser nella connessione ftp. Provando a seguire la procedura da browser, vengono richiesti due volte gli accessi, la seconda volta dopo l'apertura della porta 21.
Le ricordiamo che l'accesso FTP è garantito tramite client FTP su porta 21; La invito pertanto ad adattare il Suo script in modo che effettui eventualmente richiesta diretta alla porta 21 o, in alternativa, a provare l'utilizzo della stringa completa
ftp.dominio.ext
accedendo in un secondo tempo alla sottodirectory in ftp.
Avete qualche consiglio a riguardo?
Grazie a tutti e ciao.
vi espongo un problema che non riesco ad interpretare (ignoranza sicuramente).
Dunque, il mio programma effettua una connesione ftp in una determinata cartella e in una listview visualizzo la lista dei file presenti in ftp.
Funziona tutto ma ci vogliono circa 25 sec solo per effettuare l'accesso e qualche istante per visualizzare la lista dei file, quindi la maggior parte del tempo viene impiegato per effettuare l'accesso.
Di seguito il codice che ho utilizzato.
Dim req As FtpWebRequest = FtpWebRequest.Create("ftp://ftp.xxxx.it/test/") req.Credentials = New NetworkCredential("username", "password") req.Method = WebRequestMethods.Ftp.ListDirectory Dim sr As New StreamReader(req.GetResponse().GetResponseStream()) Dim str As String = sr.ReadLine() While Not str Is Nothing ListView2.Items.Add(str) str = sr.ReadLine() End While sr.Close() sr = Nothing req = Nothing
Ho scritto al mio provider per chiedere consiglio e mi hanno risposto così:
La informo che l'accesso effettuato dal Suo script comporta un passaggio dalla porta 80 andando a simulare il comportamento di un browser nella connessione ftp. Provando a seguire la procedura da browser, vengono richiesti due volte gli accessi, la seconda volta dopo l'apertura della porta 21.
Le ricordiamo che l'accesso FTP è garantito tramite client FTP su porta 21; La invito pertanto ad adattare il Suo script in modo che effettui eventualmente richiesta diretta alla porta 21 o, in alternativa, a provare l'utilizzo della stringa completa
ftp.dominio.ext
accedendo in un secondo tempo alla sottodirectory in ftp.
Avete qualche consiglio a riguardo?
Grazie a tutti e ciao.
aaa