Подтвердить что ты не робот

Parse Accept Header

Есть ли у кого-нибудь предложения (или регулярные выражения) для разбора заголовка HTTP Accept?

Я пытаюсь выполнить некоторое согласование типа содержимого в ASP.NET MVC. Кажется, что нет встроенного способа (это хорошо, потому что здесь много идей мысли), но разбор не является тривиальным, и я бы предпочел не изобретать колесо, если кто-то уже сделал это он хорошо и готов поделиться.

4b9b3361

Ответ 1

Вы видели эту статью? Он дает довольно полную реализацию для разбора заголовка Accept и последующего использования с ним что-то полезное.

Ответ 2

Я написал парсер в PHP. Это не сложно, но это даст вам массив типов mime в порядке предпочтения.

Ответ 3

Нашел другую реализацию в php здесь

Ответ 4

После прочтения статьи xml.com я решил не писать функцию для заголовка Accept;)

К счастью, статья указывает на хорошую библиотеку: https://code.google.com/p/mimeparse/ - в моем случае мне она нужна как модуль Node.js: https://github.com/kriskowal/mimeparse

Ответ 5

RFC довольно сложный. Если регулярное выражение, где следовать этим правилам в письме, это будет несколько строк длиной.

Если у вас уже есть заголовок Accept-header и игнорируются кавычки и параметры, вы можете сделать что-то подобное, чтобы соответствовать каждой паре:

/([^()<>@,;:\\"\/[\]?={} \t]+)\/([^()<>@,;:\\"\/[\]?={} \t]+)/

* включен в класс символов, поэтому в регулярном выражении не требуется никакого специального случая.