Zniekształcony łańcuch httpWebResponse podczas programowego przesyłania danych do formularza internetowego

Próbowałem przeszukać poprzednią dyskusję na ten temat, ale nie znalazłem żadnej, może dlatego, że nie użyłem odpowiednich słów kluczowych.

Piszę mały program, który publikuje dane na stronie internetowej i otrzymuje odpowiedź. Witryna, do której przesyłam dane, nie udostępnia interfejsu API. Po pewnym Googlingu skorzystałem z HttpWebRequest i HttpWebResponse. Kod wygląda tak:

HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("https://www.site.com/index.aspx");

CookieContainer cookie = new CookieContainer();

httpRequest.CookieContainer = cookie;

String sRequest = "SomeDataHere";

httpRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

httpRequest.Headers.Add("Accept-Encoding: gzip, deflate");

httpRequest.Headers.Add("Accept-Language: en-us,en;q=0.5");

httpRequest.Headers.Add("Cookie: SomecookieHere");

httpRequest.Host = "www.site.com";
httpRequest.Referer = "https://www.site.com/";
httpRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1";
httpRequest.ContentType = "application/x-www-form-urlencoded";
//httpRequest.Connection = "keep-alive";

httpRequest.ContentLength = sRequest.Length;

byte[] bytedata = Encoding.UTF8.GetBytes(sRequest);
httpRequest.ContentLength = bytedata.Length;
httpRequest.Method = "POST";

Stream requestStream = httpRequest.GetRequestStream();
requestStream.Write(bytedata, 0, bytedata.Length);
requestStream.Flush();
requestStream.Close();


HttpWebResponse httpWebResponse = (HttpWebResponse)httpRequest.GetResponse();

string sResponse;
using (Stream stream = httpWebResponse.GetResponseStream())
{
    StreamReader reader = new StreamReader(stream, System.Text.Encoding.GetEncoding("iso-8859-1"));
    sResponse = reader.ReadToEnd();
}

return sResponse;

Użyłem firebuga firefoxa, aby wysłać nagłówek i dane do wiadomości.

Moje pytanie brzmi: kiedy przechowuję i wyświetlaję odpowiedź za pomocą ciągu znaków, mam tylko zniekształcone znaki, takie jak:

?????*??????xV?J-4Si1?]R?r)f?|??;????2+g???6?N-?????7??? ?6?? x???q v ??? j?Ro??_*?e*??tZN^? 4s?????? ??Pwc??3???|??_????_??9???^??@?Y??"?k??,?a?H?Lp?A?$ ;???C@????e6'?N???L7?j@???ph??y=?I??=(e?V?6C??

Czytając nagłówek odpowiedzi za pomocą FireBug otrzymałem typ odpowiedzi:

Content-Type    text/html; charset=ISO-8859-1

I to jest odzwierciedlone w moim kodzie. Próbowałem nawet innych metod kodowania, takich jak utf-8 i ascii, nadal nie mam szczęścia. Może jestem w złym kierunku. Proszę doradź. Mały fragment kodu będzie jeszcze lepszy. Dzięki Ci.

questionAnswers(1)

yourAnswerToTheQuestion