Asp-Classic
如何使用 MSXML2.ServerXMLHTTP 從另一個站點獲取數據?
我們有以下連結: http: //mvp.sos.state.ga.us/
我們不想創建一個數據庫來複製 MVP 頁面的資訊,而是使用我們自己的表單,然後在幕後,使用名為 MSXML2.ServerXMLHTTP 的組件將資訊發送到上面的站點以獲取結果。
不幸的是,我對這個組件或如何使用它一無所知。
有人可以請給我指點如何使用我們自己的…將資訊發送到上面的站點並將結果返回到我們的表單中嗎?
我們基本上是想讓使用者輸入名字的首字母、姓氏、縣、出生日期。
謝謝
您可以將此組件用於 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”上的 Send 方法會忽略其參數。(在這種情況下,我們通過 URL 傳遞參數。)
使用“POST”方法發送數據:
<% objXML.Open "POST", "http://mvp.sos.state.ga.us/", false objXML.Send "username=htbasaran&password=somepassword" Response.Write objXML.responseText %>注意“POST”,Send 方法以鍵值對格式傳遞參數,例如:*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 %>