2016-09-08 3 views
1

GZip 헤더의 마법 번호가 올바르지 않습니다. 이 코드를 실행 해요 때 gzip으로 스트림을 전달하고 있는지 '오류를 확인하십시오GZip 스트림을 전달할 때 오류가 발생합니다.

using (Stream requestStream = ((WebRequest)httpWebRequest).GetRequestStream()) 
{ 
    using (StreamWriter streamWriter = new StreamWriter(requestStream)) 
     streamWriter.Write(requestString); 
} 
using (HttpWebResponse httpWebResponse = (HttpWebResponse) httpWebRequest.GetResponse()) 
{ 
    using (GZipStream gzipStream = new GZipStream(httpWebResponse.GetResponseStream(), CompressionMode.Decompress)) 
     str = new StreamReader((Stream) gzipStream).ReadToEnd(); 
} 
+0

이된다? –

+0

예, 때로는 '(GZipStream gzipStream = 새로운 GZipStream (httpWebResponse.GetResponseStream(), CompressionMode.Decompress))'행을 사용하여 오류가 발생합니다. –

답변

0

당신이 사용할 수있는 내장 HttpWebRequestAutomaticDecompression 속성입니다. 그냥 요청을 생성 한 후 다음 줄을 추가하고 기본 GetResponseStream 사용 : 서버가 실제로 GZIP 데이터를 반환

request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; 
관련 문제