#c# #webrequest
#c# #веб-запрос
Вопрос:
Я погуглил свою задницу на этом.
Форма включает в себя это:
<input name="Terms" data-required="true" type="checkbox" class="validated">
И я отчаянно пытаюсь справиться с этим так:
WebRequest req = WebRequest.Create(link);
string postData = "data-required=false";
byte[] send = Encoding.Default.GetBytes(postData);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = send.Length;
Stream sout = req.GetRequestStream();
sout.Write(send, 0, send.Length);
sout.Flush();
sout.Close();
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string returnvalue = sr.ReadToEnd();
Console.WriteLine(returnvalue);
Обратите внимание, что он работает, чтобы установить для «требуемых данных» значение false и отправить в браузере вручную.
Есть предложения?
Ответ №1:
data-required
это тег HTML5, который помечает поле как обязательное, он не имеет ничего общего с отправкой значений на сервер. Если вы хотите отправить POST-запрос с указанием того, что флажок установлен, вы должны отправить это в теле запроса:
Terms=on
Terms
это имя поля и on
значение, указывающее, что флажок установлен
Комментарии:
1. Спасибо! Когда я набираю $(«ввод: флажок»).val() в консоли, значение по умолчанию кажется «включено», даже если флажок снят. Нужно ли мне что-то еще?
2. Нет, это должно быть все.