2

VBScript/ASP でのResponseStreamプロパティを操作する方法はありますか? 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について詳しくありません。

4

1 に答える 1

2

スクリプト コードで直接 IStream を使用してできることはありません。できることは、それを使用する可能性のある COM オブジェクトに渡すことだけです。

IStream は、VB6 でさえも、Vbscript とは非常に異質です。

于 2011-11-30T07:34:00.320 に答える