Code : Tout sélectionner
If OpenWindow(0,200,10,300,30,"FTP auto")
TextGadget(1,5,5,295,20,"Start")
InitNetwork()
Repeat
If OpenFTP(0, "ftpperso.free.fr", "golfy", "xxxxxxxx", #False)
If SetFTPDirectory(0, "Velbus") = 0
Debug "Erreur : dossier Velbus inexistant"
r$="Velbus/"
Else
r$ =""
EndIf
If ExamineDirectory(0, "web\", "*.*")
While NextDirectoryEntry(0)
FileName$ = DirectoryEntryName(0)
dd = ElapsedMilliseconds()
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
If Filename$ <> "Thumbs.db"
Debug FileName$+" En cours d'envoi..."
R=SendFTPFile(0,FileName$,r$+FileName$,1)
Repeat
Delay(100)
Re = FTPProgress(0)
Until Re = -3 Or Re = -2
If Re = #PB_FTP_Error
Debug FileName$+" Envoyé (Erreur="+Str(Re)+") en "+Str((ElapsedMilliseconds()-dd))+" msec."
SetGadgetText(1,"Error with "+Filename$)
Else
Debug FileName$+" Envoyé en "+Str((ElapsedMilliseconds()-dd))+" msec."
SetGadgetText(1,Filename$+" Sent to FTP server")
EndIf
EndIf
EndIf
Wend
EndIf
Debug "finished"
Delay(500)
CloseFTP(0)
Else
MessageRequester("Error", "Can't connect to the FTP server")
EndIf
Debug "Attente -------------"
dd = ElapsedMilliseconds()
Repeat
Event = WaitWindowEvent(1000)
Until (ElapsedMilliseconds()-dd)/1000 > 60 Or Event = #PB_Event_CloseWindow
Until Event = #PB_Event_CloseWindow
EndIf
http://golfy.free.fr/Velbus/
Et le problème :
Transfert OK (testé : mode synchrone ou mode assynchrone). Les variables Purebasic disent "tout est OK".
Une capture Wireshark semble dire la même chose (voir ci-dessous) et pourtant les fichier font 0 byte.
Le parefeu Windows m'a demandé s'il devait bloquer le programme : réponse NON (évidemment)
Qui aurait une idée ? dois-je attendre avant de clore la session FTP ?
Code : Tout sélectionner
220 Serveur de mise a jour des pages perso de Free.fr version [Apr 27 2011 11:43:55]
USER golfy
331 Password required for golfy.
PASS xxxxxxx
230 User golfy logged in.
CWD Velbus
250 CWD command successful.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,232,163).
STOR 71.png
150 Opening BINARY mode data connection for 71.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,97,184).
STOR 72.png
150 Opening BINARY mode data connection for 72.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,25,59).
STOR 73.png
150 Opening BINARY mode data connection for 73.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,197,79).
STOR 74.png
150 Opening BINARY mode data connection for 74.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,102,231).
STOR 75.png
150 Opening BINARY mode data connection for 75.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,241,15).
STOR 76.png
150 Opening BINARY mode data connection for 76.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,191,44).
STOR 78.png
150 Opening BINARY mode data connection for 78.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,115,195).
STOR 79.png
150 Opening BINARY mode data connection for 79.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,153,19).
STOR 7A.png
150 Opening BINARY mode data connection for 7A.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,235,27).
STOR 7B.png
150 Opening BINARY mode data connection for 7B.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,122,174).
STOR 7C.png
150 Opening BINARY mode data connection for 7C.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,12,129).
STOR index.html
150 Opening BINARY mode data connection for index.html
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,14,116).
STOR Thumbs.db
150 Opening BINARY mode data connection for Thumbs.db
226 Transfer complete.
Je laisse tout de même le listing car il permet de transférer un dossier complet vers un répertoire FTP
