web-dev-qa-db-fra.com

Comment utiliser MSXML2.ServerXMLHTTP pour récupérer les données d'un autre site?

Nous avons le lien suivant: http://mvp.sos.state.ga.us/

Plutôt que de créer une base de données pour répliquer les informations de cette page MVP, nous aimerions utiliser notre propre formulaire, puis dans les coulisses, envoyer des informations au site ci-dessus pour obtenir des résultats en utilisant un composant appelé MSXML2.ServerXMLHTTP.

Malheureusement, je ne connais rien à ce composant ni à son utilisation.

Quelqu'un pourrait-il avoir la gentillesse de me donner des conseils sur la façon d'utiliser les nôtres ... pour envoyer des informations au site ci-dessus et obtenir des résultats sur notre formulaire?

Nous essayons essentiellement d'amener les utilisateurs à entrer la première initiale, le nom de famille, le comté, la date de naissance.

Merci

15
Chidi Okeh

Vous pouvez utiliser ce composant pour les requêtes http comme "POST", "GET", "DELETE" etc.

Pour créer l'objet:

<%
    Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
%>

Pour envoyer des données en utilisant la méthode "GET":

<%
    objXML.Open "GET", "http://mvp.sos.state.ga.us/?some=querystring", false 
    objXML.Send ""
    Response.Write objXML.responseText
%>

Notez que la méthode Open a 3 paramètres: méthode HTTP, URL, appel asynchrone.

Notez que la méthode Send sur un "GET" ignore son paramètre. (Dans ce cas, nous transmettons des paramètres via l'URL.)

Pour envoyer des données en utilisant la méthode "POST":

<%
    objXML.Open "POST", "http://mvp.sos.state.ga.us/", false 
    objXML.Send "username=htbasaran&password=somepassword"
    Response.Write objXML.responseText
%>

Notez pour "POST" que la méthode Send transmet les paramètres au format de paires clé-valeur comme: key1 = value1 & key2 = value2 & so = on ... ou toute autre donnée comme XML, JSON, etc.)

Ce sont les bases de ce composant. Si vous avez besoin de plus d'informations, vous pouvez vérifier page de documentation de Microsoft out.

Un exemple de code pour obtenir des valeurs de formulaire et les envoyer à l'aide de la méthode de publication xmlhttp.

<%
    ' getting form values
    my_uname = Request.Form("username")
    my_pword = Request.Form("password")

    ' creating object
    Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")

    ' sending variables to an external site
    objXML.Open "POST", "http://www.sitename.com/login.asp", false
    objXML.Send "username=" & my_uname & "&password=" & my_pword

    ' Assuming that successful login will return response "Ok"
    ' writing the result to the client.
    if objXML.responseText="Ok" then
        Response.Write "Login Successful!"
    else
        Response.Write "Login Failed!"
    end if
%>
27
htbasaran