OVH Cloud OVH Cloud

envoie de fichier avec ftp

13 réponses
Avatar
michael
Bonjour, j'essaie d'envoier un fichier txt par ftp averc inet, malgré des
heures de recherches je n'ai trouvé que ceci, il tourne mais ne me donne
aucune erreur mais y a t'il moyen de savoir si tout c bien passé???
J'ai egalement le inet1_statechanged mais il ne rentre pas dedans lors de
'execute"
est ce que le code est correct?? ou y a t'il une erreur??
qqn peut t'il m'aider
d'avance merci

voici mon code:

Private Sub Command2_Click()

With Inet
.AccessType = icUseDefault
.Protocol = icFTP
.UserName = "********************"
.Password = "*******"
Inet.Execute "ftp:\\www.air********.org", "Put", "C:\brussel.txt"
Do Until Not (.StillExecuting)
DoEvents
Loop
End With

MsgBox "Terminé"

End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)

' Purpose: This is to capture the FTP state change i.e exa: once 'FTP is
getting connected.


On Error Resume Next
Dim vtData As Variant
Select Case State
Case icNone
Case icResolvingHost: Me.lblRESPONSE.Caption = "Resolving Host"
Case icHostResolved: Me.lblRESPONSE.Caption = "Host Resolved"
Case icConnecting: Me.lblRESPONSE.Caption = "Connecting..."
Case icConnected: Me.lblRESPONSE.Caption = "Connected"
Case icResponseReceived: Me.lblRESPONSE.Caption = "Transferring File..."
Case icDisconnecting: Me.lblRESPONSE.Caption = "Disconnecting..."
Case icDisconnected: Me.lblRESPONSE.Caption = "Disconnected"
Case icError: MsgBox "Error:" & Inet1.ResponseCode & " " & Inet1.ResponseInfo
Case icResponseCompleted: Me.lblRESPONSE.Caption = "Process Complete."
End Select

Me.lblRESPONSE.Refresh

Err.Clear

End Sub

10 réponses

1 2
Avatar
DJ
michael wrote:
Bonjour, j'essaie d'envoier un fichier txt par ftp averc inet, malgré
des heures de recherches je n'ai trouvé que ceci, il tourne mais ne
me donne aucune erreur mais y a t'il moyen de savoir si tout c bien
passé???
J'ai egalement le inet1_statechanged mais il ne rentre pas dedans
lors de 'execute"
est ce que le code est correct?? ou y a t'il une erreur??
qqn peut t'il m'aider
d'avance merci




Bonjour,
j'ai un peu galeré aussi la premiere fois pour comprendre coment ca marche
jusqu'a ce que je trouve la bonne page web chez MS. j'ai plus le lien sous
la main mais voile le resultat

le code qui fais le transfert,tu prepares la commande et tu l'executes

strCmd = "RECV " & Source & " " & destination
Inet1.URL = "ftp://" & strUrl
Inet1.UserName = "nom"
Inet1.Password = "mot de passe"
Inet1.Execute strUrl, strCmd

et la c'est la boucle du sioux !
Do
DoEvents
Loop While Inet1.StillExecuting
strDebug = strDebug & vbCrLf & "Fin transfert " & NomSpo & " " &
Inet1.ResponseCode & " " & Inet1.ResponseInfo

' test resultat transfert
If Inet1.ResponseCode > 0 Then
Tmp = "Impossible de recevoir " & blabla & " depuis " & strUrl &
vbCr & "Details:"
Tmp = Tmp & vbCr & " Erreur: " & Inet1.ResponseCode & vbCr & " "
& Inet1.ResponseInfo
MsgBox Tmp, vbOKOnly + vbCritical, "ERREUR"
End If

les SUB qui vont avec :

Private Sub Inet1_StateChanged(ByVal State As Integer)
Me.lechamp ou on veut afficher l etat en cours = GetState(State)
'Me.Refresh

End Sub

*** celle la je lai francisée moi-meme alors s'il ya des fautes
debrouillez-vous ! :-))

Function GetState(s As Integer) As String
Select Case s
Case 0
GetState = "Pas d information disponible."

Case 1
GetState = "recherche de l adresse IP du serveur distant."

Case 2
GetState = "adresse IP du serveur distant trouvée."

Case 3
GetState = "Connexion au serveur distant."

Case 4
GetState = "Connexion établie avec le serveur distant."

Case 5
GetState = "demande d information au serveur distant."

Case 6
GetState = "la demande a bien été envoyé au serveur distant."

Case 7
GetState = "reception d une reponse du serveur distant."

Case 8
GetState = "La reponse a été recu correctement du serveur distant."

Case 9
GetState = "Deconnexion du serveur distant."

Case 10
GetState = "Deconnecté du serveur distant."

Case 11
GetState = "Une erreur est survenue pendant la communication avec le
serveur distant."

Case 12
GetState = "La demande est terminée, toutes les données sont recues."

Case Else
GetState = "Etat inconnu: " & s
End Select

End Function

et c'est tout .
Avatar
Jacques93
Bonjour michael,
michael a écrit :
Bonjour, j'essaie d'envoier un fichier txt par ftp averc inet, malgré des
heures de recherches je n'ai trouvé que ceci, il tourne mais ne me donne
aucune erreur mais y a t'il moyen de savoir si tout c bien passé???
J'ai egalement le inet1_statechanged mais il ne rentre pas dedans lors de
'execute"
est ce que le code est correct?? ou y a t'il une erreur??
qqn peut t'il m'aider
d'avance merci

voici mon code:

Private Sub Command2_Click()

With Inet
.AccessType = icUseDefault
.Protocol = icFTP
.UserName = "********************"
.Password = "*******"
Inet.Execute "ftp:www.air********.org", "Put", "C:brussel.txt"
Do Until Not (.StillExecuting)
DoEvents
Loop
End With

MsgBox "Terminé"

End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)

' Purpose: This is to capture the FTP state change i.e exa: once 'FTP is
getting connected.


On Error Resume Next
Dim vtData As Variant
Select Case State
Case icNone
Case icResolvingHost: Me.lblRESPONSE.Caption = "Resolving Host"
Case icHostResolved: Me.lblRESPONSE.Caption = "Host Resolved"
Case icConnecting: Me.lblRESPONSE.Caption = "Connecting..."
Case icConnected: Me.lblRESPONSE.Caption = "Connected"
Case icResponseReceived: Me.lblRESPONSE.Caption = "Transferring File..."
Case icDisconnecting: Me.lblRESPONSE.Caption = "Disconnecting..."
Case icDisconnected: Me.lblRESPONSE.Caption = "Disconnected"
Case icError: MsgBox "Error:" & Inet1.ResponseCode & " " & Inet1.ResponseInfo
Case icResponseCompleted: Me.lblRESPONSE.Caption = "Process Complete."
End Select

Me.lblRESPONSE.Refresh

Err.Clear

End Sub




A mon avis il y a une erreur dans la syntaxe

Inet.Execute "ftp:www.air********.org", "Put", "C:brussel.txt"

qui devrait être :

Inet.Execute "ftp:www.air********.org", "Put" & " " &
"C:brussel.txt" & " " & "/NomDuRepertoireDestination/brussel.txt"

Si NomDuRepertoireDestination est indiqué, il faut qu'il existe, s'il
n'est pas indiqué :

Inet.Execute "ftp:www.air********.org", "Put" & " " &
"C:brussel.txt" & " " & "brussel.txt"

le fichier est copié dans le répertoire courant du serveur FTP.

Extrait de :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/inet98/html/vbmthInetExecuteMethod.asp

Important : The FTP protocol uses a single string that includes the
operation name and any other parameters needed by the operation



La manière la plus simple, dans un premier temps, de vérifier si le
transfert a eu lieu est d'utiliser un client FTP (en ligne de commande,
FileZilla ou autre). Ensuite, une fois ton code au point, tu peux mettre
un système de contrôle, par exemple : Suppression / Transfert / Test
d'existence.

--
Cordialement,

Jacques.
Avatar
michael
bonjour,
j'ai changé la ligne de commande, mais comment ce fait t'il qu'il ne passe
pas dans StateChanged, histoire de savoir si tout c'est bien passé (état 12
je crois)
il execute:
Inet.Execute "ftp:www.airqualitynow.org", "Put" & " " & "C:brussel.txt" &
" " & "brussel.txt" mais bon ca ne me dis rien, coment récupérer l'état de la
connexion??

Une autre question, la derniere partie de la commande ..."brussel.txt" c'est
juste le nom que le fichier aura sur le serveur ftp, on peux je suppose lui
donner n'importe qu'elle nom???


"Jacques93" a écrit :

Bonjour michael,
michael a écrit :
> Bonjour, j'essaie d'envoier un fichier txt par ftp averc inet, malgré des
> heures de recherches je n'ai trouvé que ceci, il tourne mais ne me donne
> aucune erreur mais y a t'il moyen de savoir si tout c bien passé???
> J'ai egalement le inet1_statechanged mais il ne rentre pas dedans lors de
> 'execute"
> est ce que le code est correct?? ou y a t'il une erreur??
> qqn peut t'il m'aider
> d'avance merci
>
> voici mon code:
>
> Private Sub Command2_Click()
>
> With Inet
> .AccessType = icUseDefault
> .Protocol = icFTP
> .UserName = "********************"
> .Password = "*******"
> Inet.Execute "ftp:www.air********.org", "Put", "C:brussel.txt"
> Do Until Not (.StillExecuting)
> DoEvents
> Loop
> End With
>
> MsgBox "Terminé"
>
> End Sub
> Private Sub Inet1_StateChanged(ByVal State As Integer)
>
> ' Purpose: This is to capture the FTP state change i.e exa: once 'FTP is
> getting connected.
>
>
> On Error Resume Next
> Dim vtData As Variant
> Select Case State
> Case icNone
> Case icResolvingHost: Me.lblRESPONSE.Caption = "Resolving Host"
> Case icHostResolved: Me.lblRESPONSE.Caption = "Host Resolved"
> Case icConnecting: Me.lblRESPONSE.Caption = "Connecting..."
> Case icConnected: Me.lblRESPONSE.Caption = "Connected"
> Case icResponseReceived: Me.lblRESPONSE.Caption = "Transferring File..."
> Case icDisconnecting: Me.lblRESPONSE.Caption = "Disconnecting..."
> Case icDisconnected: Me.lblRESPONSE.Caption = "Disconnected"
> Case icError: MsgBox "Error:" & Inet1.ResponseCode & " " & Inet1.ResponseInfo
> Case icResponseCompleted: Me.lblRESPONSE.Caption = "Process Complete."
> End Select
>
> Me.lblRESPONSE.Refresh
>
> Err.Clear
>
> End Sub
>

A mon avis il y a une erreur dans la syntaxe

Inet.Execute "ftp:www.air********.org", "Put", "C:brussel.txt"

qui devrait être :

Inet.Execute "ftp:www.air********.org", "Put" & " " &
"C:brussel.txt" & " " & "/NomDuRepertoireDestination/brussel.txt"

Si NomDuRepertoireDestination est indiqué, il faut qu'il existe, s'il
n'est pas indiqué :

Inet.Execute "ftp:www.air********.org", "Put" & " " &
"C:brussel.txt" & " " & "brussel.txt"

le fichier est copié dans le répertoire courant du serveur FTP.

Extrait de :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/inet98/html/vbmthInetExecuteMethod.asp

Important : The FTP protocol uses a single string that includes the
operation name and any other parameters needed by the operation



La manière la plus simple, dans un premier temps, de vérifier si le
transfert a eu lieu est d'utiliser un client FTP (en ligne de commande,
FileZilla ou autre). Ensuite, une fois ton code au point, tu peux mettre
un système de contrôle, par exemple : Suppression / Transfert / Test
d'existence.

--
Cordialement,

Jacques.



Avatar
michael
bonjour, merci de la réponse mais j'ai quand même deux remarques.
On ma donné un mot de passe , un username et le site (adresse ftp)
dans la ligne: strCmd = "RECV " & Source & " " & destination
'source' est le path du fichier à envoier??? et destination?? est ce un path
egalement, je dois avouer que ce n'est pas tres clair dans l'explication de
MS...
si je n'ai que le site ftp:wwww.air.... etc que devient destination?? le
fichier ce met t'il par défaut dans une directory bien specifique si on ne
specifie rien?
pour l'envoie de fichier, ne dois je pas utiliser PUT au lieu de RECV,qui es
l'equivalent de GET si j'ai bien compris??

merci d'avance


"DJ" a écrit :

michael wrote:
> Bonjour, j'essaie d'envoier un fichier txt par ftp averc inet, malgré
> des heures de recherches je n'ai trouvé que ceci, il tourne mais ne
> me donne aucune erreur mais y a t'il moyen de savoir si tout c bien
> passé???
> J'ai egalement le inet1_statechanged mais il ne rentre pas dedans
> lors de 'execute"
> est ce que le code est correct?? ou y a t'il une erreur??
> qqn peut t'il m'aider
> d'avance merci
>

Bonjour,
j'ai un peu galeré aussi la premiere fois pour comprendre coment ca marche
jusqu'a ce que je trouve la bonne page web chez MS. j'ai plus le lien sous
la main mais voile le resultat

le code qui fais le transfert,tu prepares la commande et tu l'executes

strCmd = "RECV " & Source & " " & destination
Inet1.URL = "ftp://" & strUrl
Inet1.UserName = "nom"
Inet1.Password = "mot de passe"
Inet1.Execute strUrl, strCmd

et la c'est la boucle du sioux !
Do
DoEvents
Loop While Inet1.StillExecuting
strDebug = strDebug & vbCrLf & "Fin transfert " & NomSpo & " " &
Inet1.ResponseCode & " " & Inet1.ResponseInfo

' test resultat transfert
If Inet1.ResponseCode > 0 Then
Tmp = "Impossible de recevoir " & blabla & " depuis " & strUrl &
vbCr & "Details:"
Tmp = Tmp & vbCr & " Erreur: " & Inet1.ResponseCode & vbCr & " "
& Inet1.ResponseInfo
MsgBox Tmp, vbOKOnly + vbCritical, "ERREUR"
End If

les SUB qui vont avec :

Private Sub Inet1_StateChanged(ByVal State As Integer)
Me.lechamp ou on veut afficher l etat en cours = GetState(State)
'Me.Refresh

End Sub

*** celle la je lai francisée moi-meme alors s'il ya des fautes
debrouillez-vous ! :-))

Function GetState(s As Integer) As String
Select Case s
Case 0
GetState = "Pas d information disponible."

Case 1
GetState = "recherche de l adresse IP du serveur distant."

Case 2
GetState = "adresse IP du serveur distant trouvée."

Case 3
GetState = "Connexion au serveur distant."

Case 4
GetState = "Connexion établie avec le serveur distant."

Case 5
GetState = "demande d information au serveur distant."

Case 6
GetState = "la demande a bien été envoyé au serveur distant."

Case 7
GetState = "reception d une reponse du serveur distant."

Case 8
GetState = "La reponse a été recu correctement du serveur distant."

Case 9
GetState = "Deconnexion du serveur distant."

Case 10
GetState = "Deconnecté du serveur distant."

Case 11
GetState = "Une erreur est survenue pendant la communication avec le
serveur distant."

Case 12
GetState = "La demande est terminée, toutes les données sont recues."

Case Else
GetState = "Etat inconnu: " & s
End Select

End Function

et c'est tout .





Avatar
Jacques93
Bonjour michael,
michael a écrit :
bonjour,
j'ai changé la ligne de commande, mais comment ce fait t'il qu'il ne passe
pas dans StateChanged, histoire de savoir si tout c'est bien passé (état 12
je crois)
il execute:
Inet.Execute "ftp:www.airqualitynow.org", "Put" & " " & "C:brussel.txt" &
" " & "brussel.txt" mais bon ca ne me dis rien, coment récupérer l'état de la
connexion??



Voici ce que j'obtiens dans la fenêtre d'exécution en ayant ajouté :

Debug.Print State

au début de Private Sub Inet1_StateChanged(ByVal State As Integer)

1
2
3
4
7
8
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
12
9
10

on passe bien par icResponseCompleted (12)
Mais j'ai vu que sur certains sites qu'il arrivait que l'événement
StateChanged ne se déclenche pas ...

Une autre question, la derniere partie de la commande ..."brussel.txt" c'est
juste le nom que le fichier aura sur le serveur ftp, on peux je suppose lui
donner n'importe qu'elle nom???



Exact. Petite précision, en général les serveurs FTP, notamment sous
Unix sont sensible à la casse (Majuscule / Minuscules) :

brussel.txt <> Brussel.txt

et le séparateur de chemin n'est pas mais /


--
Cordialement,

Jacques.
Avatar
DJ
ok, ok, pour bien comprendre faudrait peut-etre que tu testes la suite des
commandes
à passer "a la main" via un bon ftp.exe en ligne de commande. Si Si ca aide
j'ai commencé par la aussi :-)

il y a 5 trucs a avoir :
-l URL
-le username
le mdp
-le fichier source avec chemin
- le fichier destination avec chemin

dans
Inet1.URL tu mets le nom du site FTP ex: ftp://intra.toto.fr
ca correspond au open quand tu le fais a la main

pour la commande j'ai l'habitude d utiliser recv et send mais doit pas y
avoir beaucoup de diff avec get et put (peut-etre juste pour la compatibilté
avec certains serveur FTP)

donc tu fais un SEND c:monRepmonfic.txt <pas oublier lespace>
Dossierserveurftpmonfic.txt

NB: attention au ou / si le serveur est en *unix .

si tu precises pas de dossier je supose qu il va a la racine ! :-)))
DJ



michael wrote:
bonjour, merci de la réponse mais j'ai quand même deux remarques.
On ma donné un mot de passe , un username et le site (adresse ftp)
dans la ligne: strCmd = "RECV " & Source & " " & destination
'source' est le path du fichier à envoier??? et destination?? est ce
un path egalement, je dois avouer que ce n'est pas tres clair dans
l'explication de MS...
si je n'ai que le site ftp:wwww.air.... etc que devient
destination?? le fichier ce met t'il par défaut dans une directory
bien specifique si on ne specifie rien?
pour l'envoie de fichier, ne dois je pas utiliser PUT au lieu de
RECV,qui es l'equivalent de GET si j'ai bien compris??

merci d'avance


"DJ" a écrit :

michael wrote:
Bonjour, j'essaie d'envoier un fichier txt par ftp averc inet,
malgré des heures de recherches je n'ai trouvé que ceci, il tourne
mais ne me donne aucune erreur mais y a t'il moyen de savoir si
tout c bien passé???
J'ai egalement le inet1_statechanged mais il ne rentre pas dedans
lors de 'execute"
est ce que le code est correct?? ou y a t'il une erreur??
qqn peut t'il m'aider
d'avance merci




Bonjour,
j'ai un peu galeré aussi la premiere fois pour comprendre coment ca
marche jusqu'a ce que je trouve la bonne page web chez MS. j'ai plus
le lien sous la main mais voile le resultat

le code qui fais le transfert,tu prepares la commande et tu
l'executes

strCmd = "RECV " & Source & " " & destination
Inet1.URL = "ftp://" & strUrl
Inet1.UserName = "nom"
Inet1.Password = "mot de passe"
Inet1.Execute strUrl, strCmd

et la c'est la boucle du sioux !
Do
DoEvents
Loop While Inet1.StillExecuting
strDebug = strDebug & vbCrLf & "Fin transfert " & NomSpo & "
" & Inet1.ResponseCode & " " & Inet1.ResponseInfo

' test resultat transfert
If Inet1.ResponseCode > 0 Then
Tmp = "Impossible de recevoir " & blabla & " depuis " &
strUrl & vbCr & "Details:"
Tmp = Tmp & vbCr & " Erreur: " & Inet1.ResponseCode &
vbCr & " " & Inet1.ResponseInfo
MsgBox Tmp, vbOKOnly + vbCritical, "ERREUR"
End If

les SUB qui vont avec :

Private Sub Inet1_StateChanged(ByVal State As Integer)
Me.lechamp ou on veut afficher l etat en cours = GetState(State)
'Me.Refresh

End Sub

*** celle la je lai francisée moi-meme alors s'il ya des fautes
debrouillez-vous ! :-))

Function GetState(s As Integer) As String
Select Case s
Case 0
GetState = "Pas d information disponible."

Case 1
GetState = "recherche de l adresse IP du serveur distant."

Case 2
GetState = "adresse IP du serveur distant trouvée."

Case 3
GetState = "Connexion au serveur distant."

Case 4
GetState = "Connexion établie avec le serveur distant."

Case 5
GetState = "demande d information au serveur distant."

Case 6
GetState = "la demande a bien été envoyé au serveur distant."

Case 7
GetState = "reception d une reponse du serveur distant."

Case 8
GetState = "La reponse a été recu correctement du serveur
distant."

Case 9
GetState = "Deconnexion du serveur distant."

Case 10
GetState = "Deconnecté du serveur distant."

Case 11
GetState = "Une erreur est survenue pendant la communication
avec le serveur distant."

Case 12
GetState = "La demande est terminée, toutes les données sont
recues."

Case Else
GetState = "Etat inconnu: " & s
End Select

End Function

et c'est tout .




Avatar
Jacques93
Bonjour DJ et Michael,
DJ a écrit :
ok, ok, pour bien comprendre faudrait peut-etre que tu testes la suite des
commandes
à passer "a la main" via un bon ftp.exe en ligne de commande. Si Si ca aide
j'ai commencé par la aussi :-)

il y a 5 trucs a avoir :
-l URL
-le username
le mdp
-le fichier source avec chemin
- le fichier destination avec chemin

dans
Inet1.URL tu mets le nom du site FTP ex: ftp://intra.toto.fr
ca correspond au open quand tu le fais a la main

pour la commande j'ai l'habitude d utiliser recv et send mais doit pas y
avoir beaucoup de diff avec get et put (peut-etre juste pour la compatibilté
avec certains serveur FTP)



Juste une petite précision,en fait, ça ne fait pas de différence pour le
serveur car ce n'est pas cette chaîne qui est envoyé. Il faut bien faire
la distinction entre les méthode du contrôle Inet, ou les commandes du
client FTP en ligne de commande, et ce qui est réellement envoyé au
serveur (ce qui est le cas si on travaille directement avec les sockets).

Par exemple pour la méthode Execute de Inet :

Opération commande FTP envoyé
--------- -------------------
CD CWD (Change Working Directory)
CDUP CDUP
CLOSE CLOSE
DELETE DELE
DIR LIST
GET RETR (Retrieve)
LS NLST
MKDIR MKD
PUT STOR
PWD PWD
QUIT QUIT
RECV RETR
RENAME RNFR + RNTO (Rename From + Rename To)
RMDIR RMD
SEND STOR

Le contrôle Inet ne gère que quelques commandes FTP. Pour le reste, voir
la RFC959, ici par exemple :

http://abcdrfc.free.fr/rfc-vf/pdf/rfc959.pdf

--
Cordialement,

Jacques.
Avatar
DJ
>
Juste une petite précision,en fait, ça ne fait pas de différence pour
le serveur car ce n'est pas cette chaîne qui est envoyé. Il faut bien
faire la distinction entre les méthode du contrôle Inet, ou les
commandes du client FTP en ligne de commande, et ce qui est
réellement envoyé au serveur (ce qui est le cas si on travaille
directement avec les sockets).

Par exemple pour la méthode Execute de Inet :

Opération commande FTP envoyé
--------- -------------------
CD CWD (Change Working Directory)
CDUP CDUP
CLOSE CLOSE
DELETE DELE
DIR LIST
GET RETR (Retrieve)
LS NLST
MKDIR MKD
PUT STOR
PWD PWD
QUIT QUIT
RECV RETR
RENAME RNFR + RNTO (Rename From + Rename To)
RMDIR RMD
SEND STOR

Le contrôle Inet ne gère que quelques commandes FTP. Pour le reste,
voir la RFC959, ici par exemple :

http://abcdrfc.free.fr/rfc-vf/pdf/rfc959.pdf



ah ben ca explique tout.......je m'avais demander a moi-meme des questions
sans reponse
en constatant des differences de commande entre les deux bouts du ftp alors
que ca marchait bien!

je te remercie bien pour ces precisions.
DJ
Avatar
michael
bonjour, je crois qu'il est impossible de faire ca en vb... j'ai tout essaier
ca fais trois jours, rien, pas la moindre commande ne fonctionne... parfois
aucune erreur ne se produit mais il se passe rien, soit il y a des erreurs...
je comprend rien du tout!! ca parait simple comme ca, on donne le mot de
passe l'add et le username avec inet et hop... mais a mon avis c impossible a
faire!!
j'ai verifier avec un client ftp sur le serveur dont j'ai acces, et essaier
d'effectuer une simple commande, GET PUT ou autre rien n'y fais, j'ai chager
la syntaxe la faocn d'ecrire tout...
merci quand même

"Jacques93" a écrit :

Bonjour michael,
michael a écrit :
> bonjour,
> j'ai changé la ligne de commande, mais comment ce fait t'il qu'il ne passe
> pas dans StateChanged, histoire de savoir si tout c'est bien passé (état 12
> je crois)
> il execute:
> Inet.Execute "ftp:www.airqualitynow.org", "Put" & " " & "C:brussel.txt" &
> " " & "brussel.txt" mais bon ca ne me dis rien, coment récupérer l'état de la
> connexion??

Voici ce que j'obtiens dans la fenêtre d'exécution en ayant ajouté :

Debug.Print State

au début de Private Sub Inet1_StateChanged(ByVal State As Integer)

1
2
3
4
7
8
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
5
6
7
8
12
9
10

on passe bien par icResponseCompleted (12)
Mais j'ai vu que sur certains sites qu'il arrivait que l'événement
StateChanged ne se déclenche pas ...

> Une autre question, la derniere partie de la commande ..."brussel.txt" c'est
> juste le nom que le fichier aura sur le serveur ftp, on peux je suppose lui
> donner n'importe qu'elle nom???

Exact. Petite précision, en général les serveurs FTP, notamment sous
Unix sont sensible à la casse (Majuscule / Minuscules) :

brussel.txt <> Brussel.txt

et le séparateur de chemin n'est pas mais /


--
Cordialement,

Jacques.



Avatar
Jacques93
Bonjour michael,
michael a écrit :
bonjour, je crois qu'il est impossible de faire ca en vb... j'ai tout essaier
ca fais trois jours, rien, pas la moindre commande ne fonctionne... parfois
aucune erreur ne se produit mais il se passe rien, soit il y a des erreurs...
je comprend rien du tout!! ca parait simple comme ca, on donne le mot de
passe l'add et le username avec inet et hop... mais a mon avis c impossible a
faire!!
j'ai verifier avec un client ftp sur le serveur dont j'ai acces, et essaier
d'effectuer une simple commande, GET PUT ou autre rien n'y fais, j'ai chager
la syntaxe la faocn d'ecrire tout...
merci quand même




Peux tu publier ton code ici ?
Quelle est ta version VB. MsInet semble buggé sous VB5.

--
Cordialement,

Jacques.
1 2