现有一个程序可以成功模拟普通的POST登陆,可是在某些以multipart/form-data方式提交数据的网站怎么也无法登陆,请高手帮忙啊。
            HttpWebRequest httpWebRequest = null;
            HttpWebResponse httpWebResponse = null;
            Stream inputStream = null;
            Stream outputStream = null;
            StreamReader streamReader = null;
            string BoundaryString = "-----------------------------"+DateTime.Now.Ticks.ToString("x");
            Encoding encoding = Encoding.Default;
            string htmlString = string.Empty;
            StringBuilder sb = new StringBuilder();
            sb.Append("--"+BoundaryString + "\r\n");
            sb.Append("Content-Disposition: form-data; name=\"user\"\r\n");
            sb.Append(Environment.NewLine);
            sb.Append(user+"\r\n");
            sb.Append("--" + BoundaryString + "\r\n");
            sb.Append("Content-Disposition: form-data; name=\"UserIDConfirmed\"\r\n");
            sb.Append(Environment.NewLine);
            sb.Append("1\r\n");
            sb.Append("--" + BoundaryString + "\r\n");
            sb.Append("Content-Disposition: form-data; name=\"multi\"\r\n");
            sb.Append(Environment.NewLine);
            sb.Append(Environment.NewLine);
            sb.Append("--" + BoundaryString + "\r\n");
            sb.Append("Content-Disposition: form-data; name=\"UserID\"\r\n");
            sb.Append(Environment.NewLine);
            sb.Append(user+"\r\n");
            sb.Append("--" + BoundaryString + "\r\n");
            sb.Append("Content-Disposition: form-data; name=\"Passwort\"\r\n");
            sb.Append(Environment.NewLine);
            sb.Append(pass+"\r\n");
            sb.Append("--" + BoundaryString + "--\r\n");
            Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
            byte[] arrB = encoding.GetBytes(sb.ToString());
            httpWebRequest = WebRequest.Create(urlString) as HttpWebRequest;
            httpWebRequest.Method = "POST";
            httpWebRequest.KeepAlive = true;
            httpWebRequest.Accept = "*/*";
            httpWebRequest.Referer = addr;
            httpWebRequest.CookieContainer = cookieContainer;
            httpWebRequest.ContentLength = arrB.Length;
            httpWebRequest.Timeout = 500000;
            httpWebRequest.ContentType = "multipart/form-data; boundary="+BoundaryString;
            inputStream = httpWebRequest.GetRequestStream();
            inputStream.Write(arrB, 0, arrB.Length);
            httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
            outputStream = httpWebResponse.GetResponseStream();
            streamReader = new StreamReader(outputStream, encoding);
            htmlString = streamReader.ReadToEnd();