Как использовать MSXML2.ServerXMLHTTP для захвата данных с другого сайта?

У нас есть следующая ссылка: http://mvp.sos.state.ga.us/

Вместо того, чтобы создавать db для репликации информации на странице MVP, мы хотели бы использовать нашу собственную форму, а затем за кулисами отправить информацию на сайт выше, чтобы вернуть результаты с помощью компонента, называемого MSXML2.ServerXMLHTTP.

К сожалению, я ничего не знаю об этом компоненте или о том, как его использовать.

Будет ли кто-то добрым, чтобы угодить мне указать, как использовать наши собственные... отправить информацию на сайт выше и вернуть результаты в нашу форму?

В основном мы пытаемся заставить пользователей вводить первое начальное, последнее имя, графство, дату рождения.

Спасибо

Ответ 1

Вы можете использовать этот компонент для http-запросов, таких как "POST" , "GET" , "DELETE" и т.д.

Чтобы создать объект:

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

Чтобы отправить данные с помощью метода "GET" :

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

Обратите внимание, что метод Open имеет 3 параметра: метод HTTP, URL, асинхронный вызов.

Обратите внимание, что метод отправки на "GET" игнорирует его параметр. (В этом случае мы передаем параметры через URL.)

Чтобы отправить данные с помощью метода "POST" :

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

Примечание для "POST" , которое передает метод в параметрах пары ключ-значение, например: key1 = value1 & key2 = value2 & so = on... или любые другие данные, такие как XML, JSON и т.д.)

Это основы этого компонента. Если вам нужна дополнительная информация, вы можете проверить страницу Microsoft docs.

Пример кода для получения значений формы и отправки их с использованием метода почтового сообщения 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
%>