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

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

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

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

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

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

Спасибо

Ответы на вопрос(1)

Решение Вопроса

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

To create the object:

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

To send data using method "GET":

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

Обратите внимание, что метод Open имеет 3 параметра:HTTP method, URL, asynchronous call.

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

To send data using method "POST":

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

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

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

An example code for getting form values and sending them using xmlhttp post method.

<%
    ' 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
%>
 09 июл. 2012 г., 21:52
@ChidiOkeh да, все еще возможно, потому что этот компонент не заботится о том, какая технология использовалась со стороны источника, он заботится только о данных результатах источника.
 Chidi Okeh10 июл. 2012 г., 15:02
это не работает для меня. Возможно я использую это неправильно. Не могли бы вы поглотить пример размещения полей формы для этой ссылки и как получить от нее результаты?
 09 июл. 2012 г., 21:52
@AnthonyWJones в какой-то момент ты прав, но не совсем. Я работаю со страницами JScript Asp, поэтому этот код действителен для JScript Asp, но VBScript. В любом случае я отредактирую ответ и уберу паратезы.
 09 июл. 2012 г., 14:02
Этот код не работает. Парантезы не должны быть сделаны при вызове методов как операторов. Также "POST" Примером должна быть установка заголовка Content-Type.
 Chidi Okeh09 июл. 2012 г., 20:59
Учитывая, что я пытаюсь сделать это, чтобы получить данные с сайта, созданного с помощью asp.net, это все еще возможно?

Ваш ответ на вопрос