Итак, подытожим ответ:
Если вы пытаетесь выполнить программный вход на веб-сайте проверки подлинности на основе форм с помощью своего собственного приложения, убедитесь, что вы выполняете шаги, которые предпринимаются для отслеживания файлов cookie.
Сначала создайте начальный запрос GET
, а затем выполните последующие POST
запросы, которые будут выполнять обратную передачу. Запрос и ответы должны быть сформулированы следующим образом:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_url);
request.CookieContainer = _cookieJar;
HttpWebResponse httpsResponse = (HttpWebResponse)request.GetResponse();
Класс CookieContainer
обрабатывает файлы cookie, как и ожидалось.
И если ваш ответ закодирован с помощью Gzip, просто включите следующую строку:
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
до звонка request.GetResponse()
Надеюсь, это поможет кому-то там.