Je dois effectuer des opérations d'obtention et de publication sur un service Web RESTful de VB6. Quel est le moyen le plus simple et le meilleur de le faire?
Vous devrez ajouter une référence à la bibliothèque MSXML:
Dim sUrl As String
Dim response As String
Dim xmlhttp
Set sUrl = "http://my.domain.com/service/operation/param"
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "POST", sURL, False
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send()
Dim response As String = xmlhttp.responseText
Set xmlhttp = Nothing
J'avais besoin de cela pour les demandes GET dans une ancienne application héritée récemment, et comme la réponse acceptée ne compile pas, j'ai pensé poster un code fonctionnel. Je suis sûr que cela aidera à l'avenir une pauvre semelle utilisant le VB6;) Voici une fonction propre et agréable.
Public Function WebRequest(url As String) As String
Dim http As MSXML2.XMLHTTP
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "GET", url, False
http.Send
WebRequest = http.responseText
Set http = Nothing
End Function
Et voici un exemple d'utilisation:
Dim result As String
Dim url As String
url = "http://my.domain.com/service/operation/param"
result = WebRequest(url)
Bonne VB6ing! :)
Si vous devez obtenir un service Web GET/POST à partir d'un REST _, vous pouvez simplement écrire une demande HTTP à l'URL du service Web:
http://www.webservicehost.com/webserviceop?<any parameters>
Si vous devez transmettre des objets complexes, vous devez les sérialiser puis les transmettre en tant que paramètres.
Vous pouvez ensuite obtenir la réponse HTTP dans le format que le service Web décide de renvoyer sous la forme (JSON, XML, etc.).