2012-07-09 95 views
10

我們有如下因素鏈接:http://mvp.sos.state.ga.us/如何使用MSXML2.ServerXMLHTTP從其他站點獲取數據?

而不是創建一個數據庫複製信息MVP頁,我們想用我們自己的形式,然後在幕後,將信息發送到網站上面,得到的結果回來使用名爲MSXML2.ServerXMLHTTP的組件。

不幸的是,我對這個組件或如何使用它一無所知。

是否有人會友好地請給我指點如何使用我們自己的...發送信息到上面的網站,並得到結果回到我們的形式?

我們基本上是想讓用戶輸入第一個姓,名,縣,出生日期。

感謝

回答

22

你可以使用像 「POST」 HTTP的請求這個組件, 「GET」, 「刪除」 等

創建對象:

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

注爲「POST」該發送方法轉到在鍵 - 值對參數格式,如:鍵1 =值&鍵2 =值&所以=上...或任何其他數據,如XML,JSON,等)

這些是該組件的基本知識。如果你需要更多的信息,你可以檢查microsoft's docs page了。

獲取表單值並使用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 
%> 
+1

此代碼已損壞。在將方法作爲語句進行調用時不應進行派生類。此外,「POST」示例應該設置Content-Type標題。 – AnthonyWJones 2012-07-09 12:02:16

+0

鑑於我正試圖從用asp.net構建的網站獲取數據,這仍然有可能嗎? – 2012-07-09 18:59:19

+0

@AnthonyW瓊斯在一個點上你是對的,但沒有。我正在使用JScript Asp頁面,因此此代碼對於JScript asp但VBScript有效。無論如何,我會編輯答案,並刪除偏見。 – htbasaran 2012-07-09 19:52:23

相關問題