【问题标题】:HttpClient request header customisationHttpClient请求头自定义
【发布时间】:2013-03-06 00:54:53
【问题描述】:

是否可以在 .Net/Web Api 中将 HttpClient 的请求 ACCEPT 标头设置为包含“application/json;odata=verbose”?

我知道如何设置请求媒体类型

HttpClient client = new HttpClient(handler);            
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

但是如何设置 odata=verbose 部分?我似乎无法在网上找到任何解决方案来做到这一点。

我必须改用 HttpWebRequest 吗?基本上我需要调用sharepoint 2013 rest api,并且需要odata=verbose部分。

【问题讨论】:

    标签: c# asp.net asp.net-mvc-4 asp.net-web-api dotnet-httpclient


    【解决方案1】:

    MediaTypeWithQualityHeaderValue 有一个名为 Parameters 的属性,您可以在其中添加 'odata=verbose' 参数。

    其他简单的方法是调用 MediaTypeWithQualityHeaderValue 的 Parse/TryParse 方法,您可以提供整个“application/json;odata=verbose”媒体类型字符串。

    这是一个使用 Parse 的示例

    using (HttpClient httpClient = new HttpClient())
    {
        //Setup Accept Header
        MediaTypeWithQualityHeaderValue acceptHeader = MediaTypeWithQualityHeaderValue.Parse("application/json;odata=verbose");
        httpClient.DefaultRequestHeaders.Accept.Add(acceptHeader);
    
        //... do other stuff
    }
    

    【讨论】:

    • 谢谢,这正是我想要的。
    猜你喜欢
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2014-08-08
    • 2013-11-13
    相关资源
    最近更新 更多