如何向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相关问答推荐

如何从 Azure 上托管的应用服务获取登录用户名?

如何在 ASP.Net Core 中验证上传的文件

你能从请求变量中确定时区吗?

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

OnCheckedChanged 事件未触发

我可以在 Visual Studio 2010 中将任务列表项添加到 csHTML 吗?

带有 ASP.NET MVC 6 锚标记助手的 QueryString

从命令行复制 VS2008发布网站

Page.IsValid 是如何工作的?

等价于 ASP.NET Core 中的 Html.RenderAction

缩小 ASP.Net MVC 应用程序的 HTML 输出

主机与 DnsSafeHost

如何将 GridView.DataSource 导出到数据表或数据集?

将 C# ASP.NET 数组传递给 Javascript 数组

好的 ASP.NET 类似 excel 的网格控件?

强制 IIS Express 进入classic 管道模式

获取 POST 变量

System.Drawing.Image.FromFile() 上的内存不足异常

ModelClientValidationRule 冲突

如何在asp.net的GridView中按列名而不是按索引获取单元格值