просмотрел немного материала для чтения и нашел процессы, которые требуют ввода только в простых формах, а не автоматизации браузера. Я слышал о том, как делать запросы и отправлять на сервер информацию, которую он ожидает с помощью HTTP-запросов.Я подумал, что смогу это сделать!
Я попытаюсь сразу перейти к сути дела:
class Program
{
private static System.Net.CookieContainer cookieContainer = new CookieContainer();
private static HttpClientHandler clientHandler = new HttpClientHandler
{
AllowAutoRedirect = true,
UseCookies = true,
CookieContainer = cookieContainer
};
Так что я пытаюсь заставить Http-клиента использовать всю программу,И когда я доберусь до своего первого экрана входа в систему (я использовал fiddler, чтобы увидеть, какую форму необходимо опубликовать), я произвожу успешный вход в систему с помощью сообщения.
Я покажу вам метод сообщения:
async static void PostRequest(string strUrl,
IEnumerable<KeyValuePair<string, string>> queries)
{
HttpContent q = new FormUrlEncodedContent(queries);
HttpResponseMessage response = await client.PostAsync(strUrl, q);
HttpContent content = response.Content;
string myContent = await content.ReadAsStringAsync();
// Console.WriteLine(myContent);
Console.WriteLine(response);
Console.WriteLine(myContent);
response.Dispose();
}
Моя проблема здесь, следующий пост, который я пытаюсь сделать, - это другая форма после того, как вы вошли в систему. Я снова использовал Fiddler, чтобы выяснить, чего ожидал сервер, и разместил его по соответствующему URL-адресу, но когда япечатать каждый шаг процесса, почти как он не знает сеанса или что-то.Fiddler показал мне cookie-файл и сессию, и я подумал, что он был захвачен контейнером, и затем его можно было использовать в остальной части программы, когда я запрашиваю / отправляю на страницы на сервере.
Я пропустилчто-нибудь?Вы все не сможете перейти на настоящую веб-страницу, но я могу объяснить, что показывает fiddler на вкладке cookie: говорит, что запрос отправил 2685 байт данных cookie, затем огромный набор случайных букв и цифр и несколько значений, которыепосмотрите мой логин, затем я также вижу другой случайный набор цифр и букв, которые называются идентификатором сессии.
Итак, чтобы подвести итог, в чем заключается мой вопрос, я неправильно понимаю, что делает CookieContainer?Я предполагал, что во всех запросах или сообщениях, которые я делаю с этим HttpClient, он узнает, что это был сеанс с моего первоначального входа в систему.
Мысли, идеи, ссылки, которые я, возможно, еще не обнаружил, все приветствуются :).
Спасибо, ребята!