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);
但也不行。