C# HttpWebRequest+;GetResponseStream编码
如何解码HTTP流响应 我收到以下错误消息:C# HttpWebRequest+;GetResponseStream编码,c#,C#,如何解码HTTP流响应 我收到以下错误消息: There was an error deserializing the object of type TEST.RootObject '�YL�' contains invalid UTF8 bytes. 这是我的密码: HttpWebRequest request = WebRequest.Create(UrlRequest) as HttpWebRequest; //request.Headers.Add(HttpRe
There was an error deserializing the object of type TEST.RootObject '�YL�' contains invalid UTF8 bytes.
这是我的密码:
HttpWebRequest request = WebRequest.Create(UrlRequest) as HttpWebRequest;
//request.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8"); // I cannot get this to work!
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
{
throw new Exception(String.Format("Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription));
}
DataContractJsonSerializerSettings settings = new DataContractJsonSerializerSettings();
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(RootObject));
object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
//// I cannot get this to work!
//using (Stream resStream = response.GetResponseStream())
//{
// StreamReader reader = new StreamReader(resStream, Encoding.UTF8);
// reader.ReadToEnd();
//}
//// test
看起来你有一些压缩,也许是GZIP。如果您查看HTTP头,它应该会告诉您…Telerik的Fiddler是一个很好的免费工具,可以这样做。试试这个答案