Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

télécharger un fichier en mode POST

5 réponses
Avatar
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

5 réponses

Avatar
Patrice
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" a écrit dans le message de news:

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


Avatar
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" <http://www.chez.com/scribe/> a écrit dans le message de 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" a écrit dans le message de news:

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






Avatar
Patrice
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" a écrit dans le message de news:

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" <http://www.chez.com/scribe/> a écrit dans le message de 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" a écrit dans le message de news:

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








Avatar
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" <http://www.chez.com/scribe/> a écrit dans le message de groupe 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" a écrit dans le message de news:

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" <http://www.chez.com/scribe/> a écrit dans le message de 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" a écrit dans le message de news:

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












Avatar
Jo
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" a écrit dans le message de groupe de discussion :

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" <http://www.chez.com/scribe/> a écrit dans le message de groupe
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" a écrit dans le message de news:

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" <http://www.chez.com/scribe/> a écrit dans le message de
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" a écrit dans le message de news:

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