Comment envoyer une requête POST à une URL distante à l'aide de VB6?Comment envoyer un POST à une URL distante?
Répondre
Plusieurs façons d'aborder cela. Vous pouvez utiliser l'API WinInet, l'API WinHTTP, WinHTTPRequest ou XMLHTTPRequest. Je préfère le Winsock inférieur nivelé, et vous pouvez lire à ce sujet ici: http://www.vbforums.com/showthread.php?t=334645. Winsock est un peu plus compliqué, mais un peu plus puissant, à mon avis. Si vous voulez le faire de manière simple et douce, XML HTTP Request est le chemin à parcourir, je l'utilise aussi en javascript. Essayez quelque chose comme:
Set myMSXML = New MSXML.XMLHTTPRequest
myMSXML.open "POST", URL, True
myMSXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
myMSXML.setRequestHeader "User-Agent", "Firefox 3.6.4"
myMSXML.OnReadyStateChange = (Shown below)
myMSXML.send YourPostDataString
Et la fonction OnReadyStateChange:
Dim HttpResponse As String
HttpResponse = myMSXML.responseText
Si vous trouvez mon code ne fonctionne pas, ou que vous êtes un peu confus, je suis désolé, je suis un peu rouillé avec VB de nos jours. Vous pouvez consulter la documentation officielle de Microsoft sur XMLHTTPRequest ici: http://msdn.microsoft.com/en-us/library/ms759148%28VS.85%29.aspx
+1 Similaire au code publié dans [cette question] (http://stackoverflow.com/questions/749491/soap-post-failure) ce qui est un bon signe. – MarkJ
Nous pouvons le faire de cette façon aussi
Set myMSXML = CreateObject("Microsoft.XmlHttp")
myMSXML.open "POST", "http://....", False
myMSXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
myMSXML.setRequestHeader "User-Agent", "Firefox 3.6.4"
myMSXML.send "param1=value2¶m2=value2"
MsgBox myMSXML.responseText
Plus de références vous pouvez vérifier http://smartreferences.blogspot.in
Il y a encore des gens qui utilisent VB6? : o – ThiefMaster
@ThiefMaster, Absolument. – KJW