获取网页内容的时候 有的时候返回的是GZIP压缩的
Dim wbres As HttpWebResponse = wbr.GetResponse()
Dim html As String
Dim compressStream As Stream = Nothing
Dim streamReader As StreamReader
If wbres.ContentEncoding.ToLower.Contains("gzip") Then
compressStream = New GZipStream(wbres.GetResponseStream(), CompressionMode.Decompress)
streamReader = New StreamReader(compressStream)
html = streamReader.ReadToEnd()
compressStream.Close()
streamReader.Close()
ElseIf wbres.ContentEncoding.ToLower.Contains("deflate") Then
compressStream = New DeflateStream(wbres.GetResponseStream(), CompressionMode.Decompress)
streamReader = New StreamReader(compressStream)
html = streamReader.ReadToEnd()
compressStream.Close()
streamReader.Close()
Else
streamReader = New StreamReader(wbres.GetResponseStream())
html = streamReader.ReadToEnd()
streamReader.Close()
End If

本文介绍了一种使用Visual Basic .NET从HTTP响应中读取并解压GZIP或Deflate压缩格式网页内容的方法。根据网页的内容编码类型,通过GZipStream或DeflateStream进行解压,最终获取到完整的文本内容。
716





