当前位置:  开发笔记 > 编程语言 > 正文

解析接受标头

如何解决《解析接受标头》经验,为你挑选了2个好方法。

有没有人有任何建议(或正则表达式)来解析HTTP Accept标头?

我试图在ASP.NET MVC中进行一些内容类型的协商.似乎没有内置方式(这很好,因为这里有很多思想流派),但解析并不是完全无关紧要的,如果有人已经完成,我宁愿不重新发明轮子它很好,愿意分享.



1> Hank Gay..:

你看过这篇文章吗?它提供了一个非常全面的实现,用于解析Accept头并随后对其执行一些有用的操作.



2> Mark Bell..:

作为.NET 4.5的(我认为微软已经对框架的版本信息<4.5,而掩盖这些天),您可以使用的内置的解析器一个来自System.Net.Http.Headers

public IOrderedEnumerable GetMediaTypes(string headerValue) =>
    headerValue?.Split(',')
        .Select(MediaTypeWithQualityHeaderValue.Parse)
        .OrderByDescending(mt => mt.Quality.GetValueOrDefault(1));

然后,您可以执行以下操作:

var headerValue = "application/json, text/javascript, */*; q=0.01";
var mediaTypes = GetMediaTypes(headerValue);

为您提供所有媒体类型的良好列表,其中首选选项为第一项。这里有一个LINQPad Dump中的mediaTypes从示例结果:

对此提示进行提示,以使我步入正轨。

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有