web-dev-qa-db-fra.com

Obtenir/publier sur le service Web RESTful

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?

20
Echo

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
29
Justin Niessner

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! :)

13
craftworkgames

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.).

0
Scott Lance