Ошибка в POST запросе - C#
Формулировка задачи:
Добрый день, столкнулся с ошибкой при отправке POST запроса, сервер выдает ответ : "403 Запрещено".
Куки получаю, записываю, прикрепляю к запросу.
Мб я ошибся где то.
Код прикрепляю, данные для POST Запроса прикреплю в виде изображений.
CookieContainer container = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://tatcorp.antat.ru/"); request.CookieContainer = new CookieContainer(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Cookie cookie = response.Cookies[0]; container.Add(cookie); response.Close(); HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create("http://tatcorp.antat.ru/disam/process_text/"); WebReq.CookieContainer = container; WebReq.Method = "POST"; WebReq.Accept = "*/*"; WebReq.Host = "tatcorp.antat.ru"; WebReq.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; WebReq.Referer= "http://tatcorp.antat.ru/disam/"; string data = WebUtility.UrlEncode(word); UTF8Encoding encoding = new UTF8Encoding(); var bytes = encoding.GetBytes(word); WebReq.ContentLength = bytes.Length; using (var newStream = WebReq.GetRequestStream()) { newStream.Write(bytes, 0, bytes.Length); newStream.Close(); } return WebReq.GetResponse().ToString();
Решение задачи: «Ошибка в POST запросе»
textual
Листинг программы
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://tatcorp.antat.ru/disam/process_text/"); request.KeepAlive = true; request.Accept = "*/*"; request.Headers.Add("Origin", @"http://tatcorp.antat.ru"); request.Headers.Add("X-Requested-With", @"XMLHttpRequest"); request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 OPR/37.0.2178.54"; request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.Referer = "http://tatcorp.antat.ru/disam/"; request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, lzma"); request.Headers.Set(HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"); request.Headers.Set(HttpRequestHeader.Cookie, @"sessionid=vgx4jyl5a9j62jemhpgms8lks5v5ad6w; csrftoken=DXYTBpnFVk3YBvva5rtcbN2PIRmzUF3e"); request.Method = "POST"; request.ServicePoint.Expect100Continue = false; string body = @"text=%D0%9A%D0%B0%D0%B7%D0%B0%D0%BD%D0%B3%D0%B0&am=true&csrfmiddlewaretoken=DXYTBpnFVk3YBvva5rtcbN2PIRmzUF3e"; //%D0%9A%D0%B0%D0%B7%D0%B0%D0%BD%D0%B3%D0%B0 это данные в URL Кодировке byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); request.ContentLength = postBytes.Length; Stream stream = request.GetRequestStream(); stream.Write(postBytes, 0, postBytes.Length); stream.Close(); response = (HttpWebResponse)request.GetResponse();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д