执行以下vbs代码时出现错误 - 800A01AD。
strURL = "http://maps.yahoo.com/maps_result.php?q1=newyork"
Set myRequest = CreateObject("WinHTTP.WinHTPPRequest.5.1")
myRequest.Open "GET", strURL
myRequest.Send
msgbox myRequest.ResponseText
它抛出' ActiveX组件无法创建对象'。我在我的机器上注册了WinHTTP.dll。
答案 0 :(得分:2)
如果这是一个真正的复制/粘贴,那么你在CreateObject中有一个拼写错误(" WinHTTP。WinHTPPRequest
。5.1")
答案 1 :(得分:0)
试试 MSXML2.ServerXMLHTTP 并告诉我它是否适合您?
On Error Resume Next
Set File = WScript.CreateObject("MSXML2.ServerXMLHTTP")
File.Open "GET", "http://maps.yahoo.com/maps_result.php?q1=newyork", False
'This is IE 8 headers
File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
File.Send
If err.number <> 0 then
line =""
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "Error getting file"
Line = Line & vbcrlf & "=================="
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description
Line = Line & vbcrlf & "Source " & err.source
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "HTTP Error " & File.Status & " " & File.StatusText
Line = Line & vbcrlf & File.getAllResponseHeaders
wscript.echo Line
Err.clear
wscript.quit
End If
On Error Goto 0
Set BS = CreateObject("ADODB.Stream")
BS.type = 1
BS.open
BS.Write File.ResponseBody
BS.SaveToFile "test.txt", 2