télécharger un fichier en mode POST

Le
Jo
Bonjour a tous

je cherche a télécharger un fichier en mode POST en vbexpress 2005
et n'arrive pas a trouver la solution si quelqu'un avait une info ou un
exemple
merci d'avance
Jo

en vb6 j'utilisait un crtl INet
avec cette methode :

Call Inet1.Execute(URL, "POST", "idmc=" & Idmc)
Private Sub Inet1_StateChanged(ByVal STATE As Integer)
'*************************************************
' telechargerment mode POST
'*************************************************
Dim intFile As Integer
intFile = FreeFile()
Dim vtData As Variant ' Variable de données.
Select Case STATE
' Autres cas non présentés.
Case icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
Open Fichier For Binary Access _
Write As #intFile

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024, icString)
Do While LenB(vtData) > 0
Put #intFile, , vtData
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024, icString)
Loop
Put #intFile, , vtData
Close #intFile
End Select

état_Charger = False
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #12214011
Cf My.Computer.Network.DownloadFile ou Uploadfile (ce qui doit encapusler
System.Net.WebClient) ...

(je ne comprends pas pourquoi c'est un POST et non pas un GET, le but est de
récupérer un fichier depuis un serveur ou de le transmettre vers le serveur
?)

--
Patrice


"Jo"
Bonjour a tous

je cherche a télécharger un fichier en mode POST en vbexpress 2005
et n'arrive pas a trouver la solution si quelqu'un avait une info ou un
exemple
merci d'avance
Jo

en vb6 j'utilisait un crtl INet
avec cette methode :

Call Inet1.Execute(URL, "POST", "idmc=" & Idmc)
Private Sub Inet1_StateChanged(ByVal STATE As Integer)
'*************************************************
' telechargerment mode POST
'*************************************************
Dim intFile As Integer
intFile = FreeFile()
Dim vtData As Variant ' Variable de données.
Select Case STATE
' ... Autres cas non présentés.
Case icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
Open Fichier For Binary Access _
Write As #intFile

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024, icString)
Do While LenB(vtData) > 0
Put #intFile, , vtData
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024, icString)
Loop
Put #intFile, , vtData
Close #intFile
End Select

état_Charger = False
End Sub


Jo
Le #12213991
Bonjour patrice et merci pour ta reponse
j'avais essayé:
My.Computer.Network.DownloadFile(URL & Idmc.ToString, MonFichier)
mais j'obtiens l'erreur: Le serveur distant a retourné une erreur : (405)
Méthode non autorisée.
alors que dans le projet vb6 avec la méthode post sa fonctionne et je pense
donc que le serveur n'accepte que cette méthode ???
mais la mes connaissance sont nuls

JO

"Patrice" discussion :
Cf My.Computer.Network.DownloadFile ou Uploadfile (ce qui doit encapusler
System.Net.WebClient) ...

(je ne comprends pas pourquoi c'est un POST et non pas un GET, le but est
de récupérer un fichier depuis un serveur ou de le transmettre vers le
serveur ?)

--
Patrice


"Jo"
Bonjour a tous

je cherche a télécharger un fichier en mode POST en vbexpress 2005
et n'arrive pas a trouver la solution si quelqu'un avait une info ou un
exemple
merci d'avance
Jo

en vb6 j'utilisait un crtl INet
avec cette methode :

Call Inet1.Execute(URL, "POST", "idmc=" & Idmc)
Private Sub Inet1_StateChanged(ByVal STATE As Integer)
'*************************************************
' telechargerment mode POST
'*************************************************
Dim intFile As Integer
intFile = FreeFile()
Dim vtData As Variant ' Variable de données.
Select Case STATE
' ... Autres cas non présentés.
Case icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
Open Fichier For Binary Access _
Write As #intFile

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024, icString)
Do While LenB(vtData) > 0
Put #intFile, , vtData
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024, icString)
Loop
Put #intFile, , vtData
Close #intFile
End Select

état_Charger = False
End Sub






Patrice
Le #12213981
Je trouve cela très assez curieux, la méthode GET étant quand même on ne
peut plus la base.

Voir sinon du coté de System.Net (WebClient si cela permet de préciser le
verbe HTTP ou HttpWebRequest/HttpWebResponse qui sont encore d'un niveau un
plus bas). L'ensemble permet d'envoyer des requêtes HTTP vers le serveur
web...

--
Patrice

"Jo"
Bonjour patrice et merci pour ta reponse
j'avais essayé:
My.Computer.Network.DownloadFile(URL & Idmc.ToString, MonFichier)
mais j'obtiens l'erreur: Le serveur distant a retourné une erreur : (405)
Méthode non autorisée.
alors que dans le projet vb6 avec la méthode post sa fonctionne et je
pense donc que le serveur n'accepte que cette méthode ???
mais la mes connaissance sont nuls

JO

"Patrice" de discussion :
Cf My.Computer.Network.DownloadFile ou Uploadfile (ce qui doit encapusler
System.Net.WebClient) ...

(je ne comprends pas pourquoi c'est un POST et non pas un GET, le but est
de récupérer un fichier depuis un serveur ou de le transmettre vers le
serveur ?)

--
Patrice


"Jo"
Bonjour a tous

je cherche a télécharger un fichier en mode POST en vbexpress 2005
et n'arrive pas a trouver la solution si quelqu'un avait une info ou un
exemple
merci d'avance
Jo

en vb6 j'utilisait un crtl INet
avec cette methode :

Call Inet1.Execute(URL, "POST", "idmc=" & Idmc)
Private Sub Inet1_StateChanged(ByVal STATE As Integer)
'*************************************************
' telechargerment mode POST
'*************************************************
Dim intFile As Integer
intFile = FreeFile()
Dim vtData As Variant ' Variable de données.
Select Case STATE
' ... Autres cas non présentés.
Case icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
Open Fichier For Binary Access _
Write As #intFile

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024, icString)
Do While LenB(vtData) > 0
Put #intFile, , vtData
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024, icString)
Loop
Put #intFile, , vtData
Close #intFile
End Select

état_Charger = False
End Sub








Jo
Le #12213971
Bonsoir Patrice
j'ai réussi en ajoutant les references
Interop.InetCtlsObjects.dll - AxInterop.InetCtlsObjects.dll obtenu lors
d'un essai avec l'assistant importation de projet

de la j'ai pu acceder a: Inet1_StateChanged
et pour lancer le chargement je fais: Inet1.Execute(URL, "POST", "idmc=" &
Idmc, x) ' x=""

sa fonctionne parfaitement maintenant je n'ai trouvé que sa sinon je n'avait
que l'erreur: Le serveur distant a retourné une erreur : (405)
maintenant il y a surement autre chose de mieux a faire mais bon sa
fonctionne

Private Sub Inet1_StateChanged(ByVal eventSender As System.Object, ByVal
eventArgs As AxInetCtlsObjects.DInetEvents_StateChangedEvent) Handles
Inet1.StateChanged
' telechargerment mode POST
Dim intFile As Short
intFile = FreeFile()
Dim vtData As Object ' Variable de données.
Select Case eventArgs.state
' ... Autres cas non présentés.
Case InetCtlsObjects.StateConstants.icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
FileOpen(intFile, Fichier, OpenMode.Binary,
OpenAccess.Write)

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024,
InetCtlsObjects.DataTypeConstants.icString)
Do While Len(vtData) > 0
FilePutObject(intFile, vtData)
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024,
InetCtlsObjects.DataTypeConstants.icString)
Loop
FilePutObject(intFile, vtData)
FileClose(intFile)
End Select

état_Charger = False
End Sub

Cordialement
Jo

"Patrice" discussion :
Je trouve cela très assez curieux, la méthode GET étant quand même on ne
peut plus la base.

Voir sinon du coté de System.Net (WebClient si cela permet de préciser le
verbe HTTP ou HttpWebRequest/HttpWebResponse qui sont encore d'un niveau
un plus bas). L'ensemble permet d'envoyer des requêtes HTTP vers le
serveur web...

--
Patrice

"Jo"
Bonjour patrice et merci pour ta reponse
j'avais essayé:
My.Computer.Network.DownloadFile(URL & Idmc.ToString, MonFichier)
mais j'obtiens l'erreur: Le serveur distant a retourné une erreur :
(405) Méthode non autorisée.
alors que dans le projet vb6 avec la méthode post sa fonctionne et je
pense donc que le serveur n'accepte que cette méthode ???
mais la mes connaissance sont nuls

JO

"Patrice" de discussion :
Cf My.Computer.Network.DownloadFile ou Uploadfile (ce qui doit
encapusler System.Net.WebClient) ...

(je ne comprends pas pourquoi c'est un POST et non pas un GET, le but
est de récupérer un fichier depuis un serveur ou de le transmettre vers
le serveur ?)

--
Patrice


"Jo"
Bonjour a tous

je cherche a télécharger un fichier en mode POST en vbexpress 2005
et n'arrive pas a trouver la solution si quelqu'un avait une info ou un
exemple
merci d'avance
Jo

en vb6 j'utilisait un crtl INet
avec cette methode :

Call Inet1.Execute(URL, "POST", "idmc=" & Idmc)
Private Sub Inet1_StateChanged(ByVal STATE As Integer)
'*************************************************
' telechargerment mode POST
'*************************************************
Dim intFile As Integer
intFile = FreeFile()
Dim vtData As Variant ' Variable de données.
Select Case STATE
' ... Autres cas non présentés.
Case icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
Open Fichier For Binary Access _
Write As #intFile

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024, icString)
Do While LenB(vtData) > 0
Put #intFile, , vtData
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024, icString)
Loop
Put #intFile, , vtData
Close #intFile
End Select

état_Charger = False
End Sub












Jo
Le #12209551
Bonjour Patrice
je viens de trouver une class pour gérer les requêtes POST
http://www.vbfrance.com/codes/CLASSE-GEREZ-REQUETTES-POST-SUR-SERVEUR-HTTP-NET_39884.aspx
mais la je suis dans le flou sur son utilisation dommage de ne pas avoir
trouver un exemple concret, je vais donc étudier ca

Cordialement
Jo

"Jo"
Bonsoir Patrice
j'ai réussi en ajoutant les references
Interop.InetCtlsObjects.dll - AxInterop.InetCtlsObjects.dll obtenu
lors d'un essai avec l'assistant importation de projet

de la j'ai pu acceder a: Inet1_StateChanged
et pour lancer le chargement je fais: Inet1.Execute(URL, "POST", "idmc="
& Idmc, x) ' x=""

sa fonctionne parfaitement maintenant je n'ai trouvé que sa sinon je
n'avait que l'erreur: Le serveur distant a retourné une erreur : (405)
maintenant il y a surement autre chose de mieux a faire mais bon sa
fonctionne

Private Sub Inet1_StateChanged(ByVal eventSender As System.Object, ByVal
eventArgs As AxInetCtlsObjects.DInetEvents_StateChangedEvent) Handles
Inet1.StateChanged
' telechargerment mode POST
Dim intFile As Short
intFile = FreeFile()
Dim vtData As Object ' Variable de données.
Select Case eventArgs.state
' ... Autres cas non présentés.
Case InetCtlsObjects.StateConstants.icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
FileOpen(intFile, Fichier, OpenMode.Binary,
OpenAccess.Write)

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024,
InetCtlsObjects.DataTypeConstants.icString)
Do While Len(vtData) > 0
FilePutObject(intFile, vtData)
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024,
InetCtlsObjects.DataTypeConstants.icString)
Loop
FilePutObject(intFile, vtData)
FileClose(intFile)
End Select

état_Charger = False
End Sub

Cordialement
Jo

"Patrice" de discussion :
Je trouve cela très assez curieux, la méthode GET étant quand même on ne
peut plus la base.

Voir sinon du coté de System.Net (WebClient si cela permet de préciser le
verbe HTTP ou HttpWebRequest/HttpWebResponse qui sont encore d'un niveau
un plus bas). L'ensemble permet d'envoyer des requêtes HTTP vers le
serveur web...

--
Patrice

"Jo"
Bonjour patrice et merci pour ta reponse
j'avais essayé:
My.Computer.Network.DownloadFile(URL & Idmc.ToString, MonFichier)
mais j'obtiens l'erreur: Le serveur distant a retourné une erreur :
(405) Méthode non autorisée.
alors que dans le projet vb6 avec la méthode post sa fonctionne et je
pense donc que le serveur n'accepte que cette méthode ???
mais la mes connaissance sont nuls

JO

"Patrice" groupe de discussion :
Cf My.Computer.Network.DownloadFile ou Uploadfile (ce qui doit
encapusler System.Net.WebClient) ...

(je ne comprends pas pourquoi c'est un POST et non pas un GET, le but
est de récupérer un fichier depuis un serveur ou de le transmettre vers
le serveur ?)

--
Patrice


"Jo"
Bonjour a tous

je cherche a télécharger un fichier en mode POST en vbexpress 2005
et n'arrive pas a trouver la solution si quelqu'un avait une info ou
un exemple
merci d'avance
Jo

en vb6 j'utilisait un crtl INet
avec cette methode :

Call Inet1.Execute(URL, "POST", "idmc=" & Idmc)
Private Sub Inet1_StateChanged(ByVal STATE As Integer)
'*************************************************
' telechargerment mode POST
'*************************************************
Dim intFile As Integer
intFile = FreeFile()
Dim vtData As Variant ' Variable de données.
Select Case STATE
' ... Autres cas non présentés.
Case icResponseCompleted ' 12
' Ouvre un fichier pour y écrire.
Open Fichier For Binary Access _
Write As #intFile

' Obtient le premier segment. NOTE :
' spécifier un tableau d'octets (icByteArray) pour
' récupérer un fichier binaire.
vtData = Inet1.GetChunk(1024, icString)
Do While LenB(vtData) > 0
Put #intFile, , vtData
' Récupère le segment suivant.
vtData = Inet1.GetChunk(1024, icString)
Loop
Put #intFile, , vtData
Close #intFile
End Select

état_Charger = False
End Sub














Publicité
Poster une réponse
Anonyme