Кодирование бота, чтобы подписать меня на список курсов в моем университете, для которых в конце меня перенаправляют на сайт платежного сервиса.
Мне удалось войти в систему, добавить курсы и установить необходимые флажки через HTTP POST, хотя я полностью застрял в последней форме ввода, которая должна перенаправить меня в сервис Paymet. (на данный момент я закодировал обходной путь, используя WebBrowser и HtmlElement.InvokeMember («click»), просто так, чтобы он работал на время)
Попытка использования сетевого анализа firefox для проверки параметров POST, хотя там отображается только «_ul: 1».
Если я сравниваю файл cookie из Firefox (щелкая вручную) с файлом cookie, полученным из моего кода C # через response.Headers ["Set-cookie"], они, похоже, совпадают по своему шаблону. Поэтому я считаю, что полученное мной печенье действительно.
html section («asdf1234» - это заполнитель для скрытого значения):
<form target="_top" method="post" action="https://payments.kalixa.com/Checkout/PaymentMethods/" name="formular">
<div class="alert alert-warning">
<p style="text-align:center">
<input class="btn btn-primary" type="submit" value="Next"/>
</p>
</div>
<input type="hidden" value="asdf1234" name="requestData"/>
<script language="JavaScript">
//document.formular.submit();
</script>
</form>
c # раздел:
string formUrl = redirectUrl;
string formParams = string.Format("requestData={0}", "asdf1234");
request = WebRequest.Create(formUrl);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
request.ContentLength = bytes.Length;
using (Stream os = request.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
response = request.GetResponse();
cookieHeader = response.Headers["Set-cookie"];
using (StreamReader sr = new StreamReader(response.GetResponseStream(), enc))
{
pageSource = sr.ReadToEnd();
}
response.Close();
Ошибка, которую я получаю, - это сначала окно сообщения с заголовком «ошибка скрипта», строка «5», символ «2», ошибка «Значение свойства« $ »равно нулю или не определено, объект-функция отсутствует» (переведено с немецкого языка) ) код "0"
После нажатия «да» или «нет» переменная pageSource содержит HTML-код целевой страницы с истекшим сроком действия.