Httpclient请求的自定义标头

如何在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\"" },

},

},

},

};

以上是 Httpclient请求的自定义标头 的全部内容, 来源链接: utcz.com/qa/421528.html

回到顶部