Как узнать ContentType из HtmlAgilityPack.HtmlDocument - PullRequest
1 голос
/ 15 марта 2019

Я пытаюсь определить тип содержимого HtmlAgility.HtmlDocument. Любая идея??

        HtmlWeb web = new HtmlWeb();
        var hDocument = web.Load(/*string*/ url);

Я хочу знать, как узнать contentType из hDocument, если это возможно, или есть какие-то действия вокруг него. Спасибо

1 Ответ

0 голосов
/ 16 марта 2019

В основном вам нужен объект httpwebresponse, чтобы получить его с помощью hap, вы можете использовать класс taskcompletionsource следующим образом.

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;

var contentType = httpWebResponse.ContentType

Я не делал этого некоторое время и не получил шансачтобы проверить этот код, но он должен работать для того, что вы хотите.

Получить HttpWebResponse из Html Agility Pack HtmlWeb https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebresponse.contenttype?view=netframework-4.7.2

...