有没有办法在VBScript / ASP中使用ResponseStream
property WinHttp.WinHttpRequest.5.1
?至少IStream
接口(与ResponseStream
相关的接口)在一定程度上集成到ASP中。
或者是脚本中可以达到的极限?如果你想再继续推动,你需要推出自己的COM组件吗?
<html><body><h1>WinHttp</h1>
<%
Dim req, url, o
Set req = CreateObject( "WinHttp.WinHttpRequest.5.1" )
url = "http://www.google.de"
req.Open "GET", url, False
req.Send
Response.Write "<p>Hier kommt <code>" & url & "</code> :</p>"
Response.Write "<pre>"
Response.Write req.Status & " " & req.StatusText & VbNewLine
Response.Write req.GetAllResponseHeaders
Response.Write "</pre>"
' Response.Write Mid( req.ResponseText, InStr( req.ResponseText, "<div" ) )
' Set o = req.ResponseStream
' o = req.ResponseStream
' Same result for Write and BinaryWrite:
' VarType = 13, TypeName = Unknown
' ASP 0106 : 80020005; Typkonflikt; Unbehandelter Datentyp
' o = req.ResponseStream
' o = req.ResponseBody ' mit BinaryWrite
o = req.ResponseText ' mit Write
Response.Write "<p><code>IsObject " & IsObject(o) & "</code></p>"
Response.Write "<p><code>IsNull " & IsNull(o) & "</code></p>"
Response.Write "<p><code>VarType " & VarType(o)
Response.Write " " & TypeName(o) & "</code></p>"
Response.Write o
' Response.BinaryWrite o
%>
请注意,我知道我可以使用req.ResponseText
或req.ResponseBody
。我们的兴趣在于知道你是否可以使用仅为C记录的内容进一步使用脚本,但可能(推测)可以访问脚本。我对COM不了解。
答案 0 :(得分:2)
您无法直接在脚本代码中使用IStream。您所能做的就是将它传递给可能使用它的COM对象。
IStream与Vbscript非常陌生,即使在VB6中也必须跳过一些火热的箍来处理它。