Discussion:
GET request for xml gzip file, winhttp wont uncompress automagically
(too old to reply)
TC
2005-07-27 14:05:16 UTC
Permalink
Hi

Does anyone know what you have to do with a
GET request for gzip file to un-compress automatically ?
I have a gzip xml file sitting on an iis 5 web server, & a client app
in side of a dhtml generrated asp page .. the vb script code snippet is like
this

set oXMLDoc = createobject("Microsoft.XMLDOM")
'set oXMLHttp = createobject("Microsoft.XMLHTTP")
set oXMLHttp = createobject("WinHttp.WinHttpRequest.5")
sURL = http://localhost/spool/test.xml.gz
oXMLHttp.open "GET",sURL,false ' async
oXMLhttp.setRequestHeader "Content-Type", "text/xml"
oXMLhttp.setRequestHeader "Content-Encoding", "gzip"
oXMLHttp.setRequestHeader "Accept-Encoding", "gzip, deflate"
oXMLHttp.send ""
msgbox oXMLHttp.getallresponseheaders
if ((oXMLHttp.status <> 200) or len(oXMLHttp.responseXML.xml) =0) or
err.number <> 0 then
call msgbox(oXMLHttp.status & vbcrlf & "text: " &
oXMLHttp.responseText)
exit sub
end if
oXMLDoc.loadXML oXMLHttp.responseXML.xml

I get a oXMLHttp.status =200 back but the oXMLHttp.responseText is still
compressed
I have also tried the Microsoft.XMLHTTP object with the same results
Stephen Sulzer
2005-07-29 07:27:04 UTC
Permalink
WinHttp does not support automatic decompression, you would have to feed the
(compressed) response data to a decompression library.

Try using the XMLHTTP object from MSXML 4.0 instead; I think it might
support decompression. The ProgID would be "Msxml2.XMLHTTP.4.0". Also, you
should not need to set the "Accept-Encoding" request header, as XMLHTTP may
do that for you.

There is no support in any of the WinHttp or MSXML components for
compression (e.g., compress the body of a large POST request).

Loading...