Ошибка в 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();