Я создаю веб-скребок, и мне нужно удалить html с веб-сайта, который требует входа в систему.
Я перепробовал большинство из стековых потоков, но не нашел того, кого ищу. Я не знаю, как получить результат HTML.
var baseAddress = new Uri("http://testing-ground.scraping.pro/login");
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
//usually i make a standard request without authentication, eg: to the home page.
//by doing this request you store some initial cookie values, that might be used in the subsequent login request and checked by the server
var homePageResult = client.GetAsync("/login");
homePageResult.Result.EnsureSuccessStatusCode();
var content = new FormUrlEncodedContent(new[]
{
//the name of the form values must be the name of <input /> tags of the login form, in this case the tag is <input type="text" name="username">
new KeyValuePair<string, string>("usr", "admin"),
new KeyValuePair<string, string>("pwd", "12345"),
});
var loginResult = client.PostAsync("/login", content).Result;
loginResult.EnsureSuccessStatusCode();
Console.WriteLine(loginResult);
Я ожидаю, что loginResult
будет успешным, только если
usr is admin
и
pwd составляет 12345
но независимо от того, что это положительно. Кроме того, моя главная цель - удалить полученный HTML-код, поэтому в этом случае следует удалить HTML-код, который не имеет формы входа в систему, но вместо этого приветствует текст.