Можно ли получить HttpWebResponse
из Html Agility Pack HtmlWeb
?
Как и в случае, если я позвоню:
HtmlWeb web = new HtmlWeb ();
HtmlDocument document = web.Load ("http://stackoverflow.com/");
Есть ли удобный способ извлечения HttpWebResponse
из web
экземпляра для просмотра заголовков - например, для получения свойств заголовка, таких как тип содержимого?
Есть до и после делегатов, которые будут работать:
HtmlWeb web = new HtmlWeb ();
web.PreRequest = delegate (HttpWebRequest request) {
request.Timeout = 10 * 1000;
return true;
};
web.PostResponse = delegate (HttpWebRequest request, HttpWebResponse response) {
//response.Headers;
//response.ContentType;
};
HtmlDocument document = web.Load ("http://stackoverflow.com/");
Вместо этого есть способ получить ответ вроде: (HttpWebResponse)web.GetResponse();
Вы можете использовать TaskCompletionSource
+ async / wait
var web = new HtmlAgilityPack.HtmlWeb();
var tcs = new TaskCompletionSource<HttpWebResponse>();
web.PostResponse = delegate(HttpWebRequest request, HttpWebResponse response)
{
tcs.SetResult(response);
};
var document = web.Load("http://stackoverflow.com/");
var httpWebResponse = await tcs.Task;