如何在HttpClient请求中添加自定义标头?我正在使用PostAsJsonAsync发布JSON的方法。我需要添加的自定义标头是
HttpClient
PostAsJsonAsync
"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\"" }, }, }, }, };