Salut les mecs,

une petite astuce aujourd'hui.

Comment envoyer une requête http post via l'API inet en vbScript.

J'avoue avoir cherché un moment parce que sans bidouille, ce n'est  que la 
requête http get qui est autorisée. D'où le fait que j'ai pensé que c'était 
important de vous le soumettre.

Le code que je vais vous collé plus bas peut être amélioré notamment en le 
transformant en fonction qui va retourner le code html résultat à la requête, 
mais il contient assurément tout ce qu'il faut pour au moins exécuter la 
requête.

Si d'aventure vous voulez utiliser une telle fonctionnalité sans avoir à 
installer quoi que ce soit hormis un petit script vbScript, ce code peut être 
adéqoit.

Début du code vbScript

' envoi une requête http post en vbScript

' URL de la page à exécuter
url = "http://localhost/visuweb.net/test.php?test=bonjour";

  ' création d'un objet Inet
Set Inet1 = WScript.CreateObject("InetCtls.Inet.1")
' déclarations utiles
Dim s
Dim sURL
Dim strFormData
Dim StrQuery

' préparation de l'objet inet
' Inet1.Cancel
Inet1.Protocol = 2
' Post to the form'sReturn process page.
sURL = url

' les paramètres post
' séparés les uns des autres par des "&"
strFormData = "utilisateur=moi&password=azerty&code_candidat=1982"

' lancement
Inet1.Execute CStr(sURL), _
CStr("POST"), _
CStr(strFormData), _
CStr("Content-Type: application/x-www-form-urlencoded")

' traitement et renvoi du code html retourné 

Dim vtData
Dim strData
Dim bDone: bDone=false

On Error Resume Next
WScript.Sleep 50
strData = vbNullString
Do While Inet1.StillExecuting
bDone = False
vtData = Inet1.GetChunk(1024, 0)
WScript.Sleep 50
Do While Not bDone
'
strData = strData & vtData
WScript.Sleep 50
'
' Get next chunk.
vtData = Inet1.GetChunk(1024, 0)

If Len(vtData) = 0 Then
bDone = True
End If
Loop

WScript.Sleep 50
Loop

' transfert de valeur
s = strData

' affichage du résultat dans un dialogue
MsgBox s
' libération
Set Inet1 = Nothing

Fin du code vbScript

Puisse cela être utile à quelqu'un !

Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
mon site: www.visuweb.net

Répondre à