首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

一个在VB中与ASP页面交互的有关问题

2013-10-29 
一个在VB中与ASP页面交互的问题服务器上有一个ASP页面test.asp,大致如下:%Avgrequest.querystring(avg

一个在VB中与ASP页面交互的问题
服务器上有一个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,因为不想留下痕迹。最好有较详细的代码,网络这方面我很菜。
[解决办法]
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"
[解决办法]
可能是编码格式的原因
用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方式

热点排行