如何向HttpClient请求添加自定义标头?我正在使用PostAsJsonAsync方法来张贴JSON.我需要添加的自定义标头是

"X-Version: 1"

这就是我到目前为止所做的:

using (var client = new HttpClient()) {
    client.BaseAddress = new Uri("https://api.clickatell.com/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "xxxxxxxxxxxxxxxxxxxx");
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    var response = client.PostAsJsonAsync("rest/message", svm).Result;
}

推荐答案

var request = new HttpRequestMessage {
    RequestUri = new Uri("[your request url string]"),
    Method = HttpMethod.Post,
    Headers = {
        { "X-Version", "1" } // HERE IS HOW TO ADD HEADERS,
        { HttpRequestHeader.Authorization.ToString(), "[your authorization token]" },
        { HttpRequestHeader.ContentType.ToString(), "multipart/mixed" },//use this content type if you want to send more than one content type
    },
    Content = new MultipartContent { // Just example of request sending multipart request
        new ObjectContent<[YOUR JSON OBJECT TYPE]>(
            new [YOUR JSON OBJECT TYPE INSTANCE](...){...}, 
            new JsonMediaTypeFormatter(), 
            "application/json"), // this will add 'Content-Type' header for the first part of request
        new ByteArrayContent([BINARY DATA]) {
            Headers = { // this will add headers for the second part of request
                { "Content-Type", "application/Executable" },
                { "Content-Disposition", "form-data; filename=\"test.pdf\"" },
            },
        },
    },
};

Asp.net相关问答推荐

系统日期时间?与 System.DateTime

SignalR 不在服务器上使用 Session

ASP.NET web api 无法获取 application/x-www-form-urlencoded HTTP POST

在每页级别增加 ASP.Net 超时

MSCharts找不到请求类型'GET'的http处理程序错误

WebAPI 请求流支持

如何在 ASP.NET Web API 中使用非线程安全的 async/await API 和模式?

MvcBuildViews true 与 ASP.NET MVC 2 中的实体框架

与将 Web 应用程序保存在一个默认应用程序池中相比,拥有专用应用程序池的优缺点

ASP.NET 中的 <%# Bind("") %> 和 <%# Eval("") %> 有什么区别?

使用 ASPNet_Regiis 加密自定义配置部分 - 你能做到吗?

无法序列化会话状态

如何获取正在访问 ASP.NET 应用程序的当前用户?

如何避免 ASP.NET MVC 中的 HttpRequestValidationException 呈现导致异常的相同视图

具有自定义报告创建能力的最佳 ASP.NET 报告引擎

不同域的登录页面

会员生成密码 仅限字母数字密码?

如何将代码中的变量调用到aspx页面

判断 IQueryable 结果集的最佳方法是什么?

强制 IIS Express 进入classic 管道模式