HttpWebRequest的Post问题
用HttpWebRequest向一个表单POST, POST是成功了,得到的结果没有乱码,但是URL被表单重定向到一个含有中文乱码的地址,所以得到的结果也是错的,我知道结果可以设置编码来读取就不会乱码了,但是重定向地址要怎么设置才不会乱码?
重定向后的地址: http://www.xxxx.com/showerr.asp?ErrCodes=<li>ÇëÊäÈëÄúµÄÓû§Ãû(³¤¶È²»ÄÜ´óÓÚ20»òСÓÚ1)¡£&action=OtherErr
代码:
byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add("Accept-Language", "zh-cn");
request.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
request.ContentType = "application/x-www-form-urlencoded; charset=bg2312";
request.Method = "POST";
request.ContentLength = bytes.Length;
Stream os = request.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response == null) return null;
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
string responseUrl = response.ResponseUri.ToString();
string result = sr.ReadToEnd().Trim();
重定向后的地址: http://www.xxxx.com/showerr.asp?ErrCodes=<li>ÇëÊäÈëÄúµÄÓû§Ãû(³¤¶È²»ÄÜ´óÓÚ20»òСÓÚ1)¡£&action=OtherErr
代码:
byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add("Accept-Language", "zh-cn");
request.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
request.ContentType = "application/x-www-form-urlencoded; charset=bg2312";
request.Method = "POST";
request.ContentLength = bytes.Length;
Stream os = request.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response == null) return null;
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
string responseUrl = response.ResponseUri.ToString();
string result = sr.ReadToEnd().Trim();
...全文
相关推荐
C#中HttpWebRequest的用法详解
主要介绍了C#中HttpWebRequest的用法,以实例的形式详细叙述了HttpWebRequest类中GET与POST的用法,非常具有参考借鉴价值,需要的朋友可以参考下
C#中HttpWebRequest介绍
C#中HttpWebRequest使用介绍 GET HTTP HTTPS 请求
使用HttpWebRequest发送自定义POST请求
使用 HttpWebRequest发送自定义POST请求
浅谈C#中HttpWebRequest与HttpWebResponse的使用方法
本篇文章主要介绍了浅谈C#中HttpWebRequest与HttpWebResponse的使用方法,具有一定的参考价值,有兴趣的可以了解一下。
HttpWebRequest类的使用[文].pdf
HttpWebRequest类的使用[文].pdf


