HttpWebRequest: ПОСТ-запрос, не формируется multipart/form-data - C#
Формулировка задачи:
Добрый ...
Есть проблема с формировкой запроса в формате multipart/form-data
Сервер не может разбить данные на имена и значения ,то есть данные подобного формата
должны быть приведены к следующему виду
Через сниффер вижу что там где создается подобная таблица и запрос происходит успешно ,
там где ее нет или она кривая ничего не получается .
Данные считываю из файла в котором пакет от реального браузера совершивший успешный запрос
В чем может быть проблема ?
-----------------------------54472172614771 Content-Disposition: form-data; name="desc_width" 20% -----------------------------54472172614771 Content-Disposition: form-data; name="attrib_width" 10%
name value desc_width 20% attrib_width 10%
HttpWebRequest reQ = (HttpWebRequest)HttpWebRequest.Create("http://host.php");
reQ.Method = "POST";
reQ.Headers.Add("X-Requested-With", "XMLHttpRequest");
reQ.Host = "host.ru";
reQ.ContentLength = data_.Length;
reQ.ServicePoint.Expect100Continue = true;
reQ.KeepAlive = true;
reQ.AllowAutoRedirect = true;
reQ.Headers.Add(HttpRequestHeader.CacheControl, "no-cache");
reQ.Headers.Add(HttpRequestHeader.Cookie, req.CookieContainer.GetCookieHeader(req.RequestUri));
reQ.Accept = "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";//text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
reQ.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
reQ.Headers.Add(HttpRequestHeader.AcceptCharset, "windows-1251,utf-8;q=0.7,*;q=0.7");
reQ.Referer = "http://hifi-profi.ru/administrator/index.php";
reQ.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
reQ.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3");
reQ.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2)";
reQ.ContentType = "multipart/form-data ; boundary=-----------------------------5447217261477";
Stream newS = reQ.GetRequestStream();
newS.Write(data_, 0, data_.Length);
HttpWebResponse rsp = (HttpWebResponse)reQ.GetResponse();
StreamReader srr = new StreamReader(rsp.GetResponseStream(), Encoding.UTF8);
String ss = srr.ReadToEnd();
webBrowser1.DocumentText = ss;Решение задачи: «HttpWebRequest: ПОСТ-запрос, не формируется multipart/form-data»
textual
Листинг программы
HttpWebRequest reQ = (HttpWebRequest)HttpWebRequest.Create("sdff");
reQ.Method = "POST";
reQ.Headers.Add("X-Requested-With", "XMLHttpRequest");
reQ.Host = "fdsfs";
reQ.ContentLength = query.Length;
reQ.CookieContainer = cook;
reQ.ServicePoint.Expect100Continue = true;
reQ.KeepAlive = true;
reQ.AllowAutoRedirect = true;
reQ.Headers.Add(HttpRequestHeader.CacheControl, "no-cache");
reQ.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";//text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
reQ.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
reQ.Referer = "fdsfd";
reQ.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
reQ.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
reQ.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0";
reQ.ContentType = "multipart/form-data ; boundary=--" + boundary;