asp-classic - 如何使用 MSXML2.ServerXMLHTTP 从另一个站点获取数据?

标签 asp-classic 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'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
%>

关于asp-classic - 如何使用 MSXML2.ServerXMLHTTP 从另一个站点获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388714/

相关文章:

在 ASP Classic 中缓存记录集?

javascript - 经典 ASP 在页面之间传递值

vbscript - 在 setRequestHeader 中使用变量,为什么它们不起作用?

vba - 为 ServerXMLHTTP.SetOption 识别正确的客户端证书

vba - CreateObject ("MSXML2.serverXMLHTTP.6.0") 和 CreateObject ("WinHttp.WinHttpRequest.5.1") 在同时运行 100 多个对象/请求时崩溃

visual-studio - 调试经典 ASP 会导致 Visual Studio 2008 崩溃 - 我该如何解决这个问题?

Java SWT 浏览器 : Waiting till dynamic page is fully loaded

iis-7 - 经典 ASP,在 Windows Server 2008 上发送电子邮件 - 错误 '8004020f'

asp-classic - 在经典asp中将utf-8转换为iso-8859-1

xml - 当 responseText 包含有效的 Xml 时,IXMLHttpRequest.responseXml 为空,没有解析错误