С помощью htmlagilitypack как вы можете определить, является ли URI файлом или нет

#file #uri #html-agility-pack

#файл #uri #html-agility-pack

Вопрос:

Например, для этого URL-адреса он не отображает его как файл

http://www.darty.com.tr/e_commerce/ximg/yeniyil/darty garanty brosur.pdf

Но это файл PDF. Итак, я хочу просто определить все URL-адреса, которые нельзя сканировать, как pdf или doc или docx и т.д. Как я могу это сделать с c # 4.0 и htmlagilitypack?

Спасибо.

Не распознается как файл:http://img695.imageshack.us/img695/61/notshowasfile.png

Комментарии:

1. Что вы подразумеваете под «не отображает его как файл»? Это является файлом.

2. Джо Уайт вот что я имею в виду: img695.imageshack.us/img695/61/notshowasfile.png

Ответ №1:

Uri является частью базовой платформы .NET Framework — это не имеет ничего общего с пакетом HTML Agility Pack.

Это также не имеет никакого отношения к тому, что это PDF. В документации для Uri.IsFile говорится:

Свойство isFile имеет значение true, когда свойство Scheme равно UriSchemeFile.

Другими словами, IsFile отвечает на вопрос: «Является ли это file:// URI«? Поскольку это http:// URI, ответ отрицательный.

Вы, кажется, путаете URL-адреса с контентом. Uri Это просто причудливая строка; его задача — быть URI, а не выходить на сервер и задавать вопросы о содержимом по этому URL. На вопрос «Это тип файла, который я знаю, как сканировать?» нельзя ответить, посмотрев на URL; http://example.com/articles/123 это может быть веб-страница, или PDF, или текстовый файл, или JPEG, или любая из тысячи других вещей. Вы должны выполнить запрос GET или HEAD на сервер и посмотреть на возвращаемый тип содержимого, чтобы узнать, какой тип содержимого представляет этот URL.

Комментарии:

1. итак, как возглавить запрос и определить, является ли это страницей или файлом?

2. Люди, которые знают этот ответ, не будут рассматривать этот вопрос об Uri.isFile. Попробуйте опубликовать новый вопрос.