Asp-Classic

如何使用 MSXML2.ServerXMLHTTP 從另一個站點獲取數據?

  • December 10, 2017

我們有以下連結: 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
%>

引用自:https://stackoverflow.com/questions/11388714