win32 的winForm程序模拟POST提交到JSP网站,中文乱码
我手上有个任务:把单位的全体成员在某个网站(JSP的)上做好注册,而我呢想做个win32 的winForm程序呢把我手上的几百号人的信息一一post提交注册,现在我已经实现把信息注册进去了,但碰上中文时,注册进去的信息就是乱码。以下是我的处理函数。大家帮我看看
程序代码:private string WebDo(string url, string postData)
{
try
{
byte[] byteArray = Encoding.Default.GetBytes(postData);
//Encoding ISO88591Encoding = Encoding.GetEncoding("ISO-8859-1");
//byte[] byteArray = ISO88591Encoding.GetBytes(postData);// Encoding.UTF8.GetBytes(postData);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));
webRequest.Method = "post";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = byteArray.Length;
Stream newStream = webRequest.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length);
newStream.Close();
//接收
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
//StreamReader php = new StreamReader(response.GetResponseStream(), Encoding.Default);
//上面这句在上正常,用在JSP网站上返回的中文也是乱码,改用下面的编码后正常
StreamReader php = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
string Message = php.ReadToEnd();
return Message;
}
catch (Exception ex)
{
return "错误!";
}
}
原站点注册页面的编码可能是UF-8,以下是注册页面源代码里找到的<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>考虑到可能是提交的网页编码类型不正确。所以试着在post之前进行编码(当然这个我不太懂),我是想网页编码如果为UTF-8,,那就用 Encoding.UTF8.GetBytes(postData);
但也不行。







