Пробую создать реквест на форму авторизации, если данные верны - произойдет редирект на другую страницу, если не верны - возвратит форму авторизации.
WebRequest request = WebRequest.Create("http://www.request.com/");
request.Proxy = new WebProxy(new Uri("http://myproxy.ru"));
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
NameValueCollection outgoingQueryString = HttpUtility.ParseQueryString(String.Empty);
outgoingQueryString.Add("_method", "POST");
outgoingQueryString.Add("data[User][email]", "email@my.ru");
outgoingQueryString.Add("data[User][password]", "QWErty01");
byte[] byteArray = new ASCIIEncoding().GetBytes(outgoingQueryString.ToString());
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
В responseFromServer нахожу именно форму авторизации, как буд-то данные не верны.
В то же время тот же запрос на JS отрабатывается на отличто
$.ajax({
type: "POST",
url: 'http://cora-request.com/',
data: { '_method': 'POST', "data[User][email]": "email@my.ru", "data[User][password]": "QWErty01" },
success: function(response){ console.log(response) }
});
Параметры с виду передаются одинаковые
_method=POST&data%5bUser%5d%5bemail%5d=hwac%40my.ru&data%5bUser%5d%5bpassword%5d=QWErty01 -> с#
_method=POST&data%5BUser%5D%5Bemail%5D=hwac%40my.ru&data%5BUser%5D%5Bpassword%5D=QWErty01 -> js
В чем может быть причина ?