web-dev-qa-db-ja.com

MSXML2.ServerXMLHTTPを使用して別のサイトからデータを取得するにはどうすればよいですか?

次のリンクがあります: http://mvp.sos.state.ga.us/

MVPページの情報を複製するdbを作成するのではなく、独自のフォームを使用し、背後で情報を上記のサイトに送信して、MSXML2.ServerXMLHTTPというコンポーネントを使用して結果を取得します。

残念ながら、このコンポーネントやその使用方法については何も知りません。

誰かが私たち自身の使い方を教えてくれますか?上記のサイトに情報を送信し、フォームに結果を返すのに十分な親切な人がいますか?

基本的に、ユーザーに最初のイニシャル、姓、郡、生年月日を入力させようとしています。

ありがとう

15
Chidi Okeh

このコンポーネントは、「POST」、「GET」、「DELETE」などのhttp要求に使用できます。

オブジェクトを作成するには:

<%
    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」のSendメソッドはそのパラメーターを無視することに注意してください。 (この場合、URL経由でパラメーターを渡します。)

メソッド「POST」を使用してデータを送信するには:

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

Sendメソッドが次のようなキーと値のペア形式でパラメーターを渡す「POST」に関する注意:key1 = value1&key2 = value2&so = on ...またはXML、JSONなどのその他のデータ)

これらは、このコンポーネントの基本です。さらに情報が必要な場合は、 Microsoftのドキュメントページ をご覧ください。

フォームの値を取得し、xmlhttpのpostメソッドを使用して送信するためのサンプルコード

<%
    ' 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