Com 在经典ASP中使用WinHttpRequest.ResponseStream(与IStream相关)?

Com 在经典ASP中使用WinHttpRequest.ResponseStream(与IStream相关)?,com,asp-classic,istream,winhttp,winhttprequest,Com,Asp Classic,Istream,Winhttp,Winhttprequest,有没有办法在VBScript/ASP中使用的?至少该接口(与ResponseStream相关)在一定程度上集成到ASP中 或者这就是你在脚本中所能达到的极限?如果您还想继续,是否要求您滚动自己的COM组件 <html><body><h1>WinHttp</h1> <% Dim req, url, o Set req = CreateObject( "WinHttp.WinHttpRequest.5.1" ) url = "http://www

有没有办法在VBScript/ASP中使用的?至少该接口(与
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
%>
"
'Response.Write Mid(req.ResponseText,InStr(req.ResponseText,“在脚本代码中,您无法直接使用IStream。您所能做的就是将它传递给可能使用它的COM对象


IStream对Vbscript非常陌生,即使是在VB6中,也必须跳过一些激烈的障碍才能使用它。

谢谢。将东西传递给另一个COM对象将很好。
响应
对象实现了
IStream
(至少部分实现),所以我想可能有一种方法可以将它们连接在一起。不知怎的。看起来我必须钻研COM才能在ASP中更进一步。@Lumi:如果能够使用
CopyTo
Read
将流的内容泵送到
响应
,那就太好了。遗憾的是,这在VBScript中不可能直接实现。是的,从COM中泵送数据到ASP我认为COM对象的对象是很好实现的。当时人们编写COM组件是为了扩展VBScript的功能吗?还是接受了流行模式的缺点?一些组件(如MSXML)都很好地集成了,其他的都没有。这一定激发了获得更良好集成组件的愿望。您好!我希望做一些类似的事情(使用VBA,而不是VBScript,但非常类似)。您能举一个例子,说明我如何将
ResponseStream
发送到另一个COM对象(哪个COM对象?)这样我就可以实时直接从流中读取大型HTTP响应了?