在AngleSharp中进行身份验证

时间:2017-01-16 07:32:30

标签: authentication kerberos anglesharp

我需要解析一个网站,但这个网站有Windows身份验证(kerberos),我使用HttpRequester进行了身份验证但是如何将身份验证传递给AngleSharp?

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Credentials = new NetworkCredential("user", "pass");
req.CookieContainer = session;

之后,我不知道如何继续将会话传递给AngleSharp连接:

var configuration = Configuration.Default.WithDefaultLoader().WithCookies();
var context = BrowsingContext.New(configuration);
await context.OpenAsync(WebsiteUrl);

1 个答案:

答案 0 :(得分:1)

您需要NuGet AngleSharp.Io包,这将启用“WithRequesters”

然后:

var credentials = new NetworkCredential("user", "pass", "domain");
var handler = new HttpClientHandler { Credentials = credentials };
var config = Configuration.Default.WithRequesters(handler).WithCookies();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync(url)