С помощью htmlagilitypack, как вы можете определить, является ли URI файловым или нет - PullRequest
0 голосов
/ 16 октября 2011

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

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

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

Спасибо.

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

1 Ответ

1 голос
/ 16 октября 2011

Uri является частью базового .NET Framework - это не имеет ничего общего с HTML Agility Pack.

Это также не имеет ничего общего с PDF. Документация для Uri.IsFile гласит:

Свойство IsFile имеет значение true, если свойство Scheme равно UriSchemeFile.

Другими словами, IsFile отвечает на вопрос: «Это file:// URI »? Поскольку это http:// URI, ответ - нет.

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

...