服务器上有一个ASP页面test.asp,大致如下:
<%
Avg=request.querystring("avg")if Avg<>"" then
  '... 处理过程
   response.write "OK"
else
    response.write "Error."
end if
%>在程序中想访问页面 http://www.mysite.com/test.asp?avg=xxx ,传递不同的值给参数avg。让ASP处理。
问题是能什么方案,最好是Windows API能实现我的要求?不要用WebBrowser,因为不想留下痕迹。最好有较详细的代码,网络这方面我很菜。

解决方案 »

  1.   

    Din xmlHttp As Object
    Dim param As String
    param = "你要传的参数"
    Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
    xmlHttp.open "GET", "http://www.abc.com/test.asp?avg=" & param, True
    xmlHttp.send (Null)
    While xmlHttp.ReadyState <> 4
    DoEvents
    Wend
    MsgBox "OK"
      

  2.   

    谢谢版主指教,不过本人愚钝,我如何得到页面回显的字符呢?就我的页面而言,如何知道是OK还是Error?另外,这个Microsoft.XMLHTTP对象从winxp到win8中都有吗?用户理否需要安装其他组件?
      

  3.   

    在最后加上
    Dim s As String
    s = xmlHttp.responseText
    MsgBox sXP SP2以上到Win8都支持,SP2以下安装MSXML6.0
      

  4.   

    不知为什么,同一个页面,页面回显结果不同,程序有时会报错。现在看来好象是当页面回显汉字时,s = xmlHttp.responseText 报错,而无法得到结果。要是对汉字不支持,最多显示乱码而已,为什么会报错呢?没明白,望赐教!
      

  5.   

    可能是编码格式的原因
    用UTF-8我测试了一下,可以用
    ASP部分
    '文件My.asp,文件保存的时候注意存成UTF-8格式的<%
    Response.Addheader "Content-Type","text/html; charset=utf-8"
    Response.write Request("ID")
    %>
    VB部分的代码Public Function GetPage(ByVal URL As String, Optional ByVal Data As String = "") As String
        Dim XML As Object, T As Double
        Set XML = CreateObject("WinHttp.WinHttpRequest.5.1")
        XML.Option(6) = False
        XML.Option(4) = 13056
        If Len(Data) = 0 Then
            XML.Open "GET", URL
            XML.Send
        Else
            XML.Open "POST", URL
            XML.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
            XML.SetRequestHeader "Content-Length", LenB(StrConv(Data, vbFromUnicode))
            XML.Send Data
        End If
        GetPage = XML.ResponseText
        Set XML = Nothing
    End Function
    '测试时可以调用
    'debug.print GetPage("http://localhost/my.asp?id=测试")'GET方式
    '或者
    'debug.print GetPage("http://localhost/my.asp","id=测试")'POST方式
      

  6.   

    可以了,原来将ASP页面存为UTF-8就可以了。又发现个问题,该对象可否清除防问过的页面缓存文件?