Pregunta

¿Hay alguna forma de trabajar con el ResponseStream propiedad de WinHttp.WinHttpRequest.5.1 en VBScript/ASP? Al menos el IStream interfaz (a la cual ResponseStream está relacionado) está integrado en ASP hasta cierto punto.

¿O es ese el límite de lo que puedes lograr en el script? ¿Requirirle que enrolle su propio componente COM si desea ir más allá?

<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
%>

Tenga en cuenta que sé que puedo usar req.ResponseText o req.ResponseBody. El interés es saber si puede ir más allá en el script usando cosas que solo están documentadas para C pero quizás (especulando) Accesible para el script. No tengo conocimiento de com.

¿Fue útil?

Solución

No hay nada que pueda hacer con un Istream directamente en el código de script. Todo lo que puede hacer es pasarlo a un objeto COM que pueda usarlo.

El Istream es muy ajeno a VBScript, incluso en VB6, uno tiene que saltar a través de algunos aros ardientes para trabajar con él.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top