HTTP GET请求,ASP - 我输了!

时间:2009-12-11 00:56:06

标签: http asp-classic vbscript get request

在ASP中使用VBScript我正在尝试设置HTTP GET请求,该请求将访问一个页面,该页面又生成一行ASCII(非HTML)。然后我想推断那个ASCII行,它将有4个由分号分隔的值回到我原来的ASP页面中的4个变量中,这样我就可以获取这些值并用它们做些什么。

这是我想通过HTTP GET请求http://www.certigo.com/demo/request.asp访问的页面。其中三个值为null。

我对ASP知之甚少,所以我有这个:

Dim oXMLHTTP

Dim strStatusTest

Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")

oXMLHTTP.Open "GET", "http://www.certigo.com/demo/request.asp", False

oXMLHTTP.Send

If oXMLHTTP.Status = 200 Then

strStatusText = oXMLHTTP.responseBody

End If

但显然我不知道我在做什么,因为这根本不起作用。我完全不会惊讶地发现,我所拥有的不是正确的方向。请帮忙!!

-Tracy

2 个答案:

答案 0 :(得分:19)

您的代码应如下所示: -

Function GetTextFromUrl(url)

  Dim oXMLHTTP
  Dim strStatusTest

  Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.3.0")

  oXMLHTTP.Open "GET", url, False
  oXMLHTTP.Send

  If oXMLHTTP.Status = 200 Then

    GetTextFromUrl = oXMLHTTP.responseText

  End If

End Function

Dim sResult : sResult = GetTextFromUrl("http://www.certigo.com/demo/request.asp")

注意在ASP中使用ServerXMLHTTP,XMLHTTP组件是为客户端使用而设计的,在ASP等多线程环境中使用是不安全的。

答案 1 :(得分:0)

尝试将oXMLHTTP.responseBody更改为oXMLHTTP.responseText,看看是否有效。

如果您需要有关此技术的更多信息,请参阅此网页:

http://classicasp.aspfaq.com/general/how-do-i-read-the-contents-of-a-remote-web-page.html