本文介绍了添加HTTP标头的HttpClient的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所有
我需要的HTTP标头添加到HttpClient的之前,我发送给Web服务的请求。我该怎么做,对于单个请求(而不是在HttpClient的所有将来的请求)?我不知道这甚至有可能。
VAR的客户=新的HttpClient();VAR任务= client.GetAsync(www.someURI) .ContinueWith((taskwithmsg)= GT; { VAR响应= taskwithmsg.Result; VAR jsonTask = response.Content.ReadAsAsync<&JSONObject的GT;(); jsonTask.Wait(); VAR的JSONObject = jsonTask.Result; });task.Wait();解决方案
创建一个的Htt prequestMessage ,设置方法 GET ,设置你的头,然后用 SendAsync 而不是 GetAsync 。
VAR的客户=新的HttpClient();VAR要求=新的Htt prequestMessage(){ RequestUri =新的URI(www.someURI), 方法= HttpMethod.Get, };request.Headers.Accept.Add(新MediaTypeWithQualityHeaderValue(text / plain的));VAR任务= client.SendAsync(要求) .ContinueWith((taskwithmsg)= GT; { VAR响应= taskwithmsg.Result; VAR jsonTask = response.Content.ReadAsAsync<&JSONObject的GT;(); jsonTask.Wait(); VAR的JSONObject = jsonTask.Result; });task.Wait();All:
I need to add http headers to the HttpClient before I send a request to a web service. How do I do that for an individual request (as opposed to on the HttpClient to all future requests)? I'm not sure if this is even possible.
var client = new HttpClient(); var task = client.GetAsync("www.someURI") .ContinueWith((taskwithmsg) => { var response = taskwithmsg.Result; var jsonTask = response.Content.ReadAsAsync<JsonObject>(); jsonTask.Wait(); var jsonObject = jsonTask.Result; }); task.Wait();解决方案
Create a HttpRequestMessage, set the Method to GET, set your headers and then use SendAsync instead of GetAsync.
var client = new HttpClient(); var request = new HttpRequestMessage() { RequestUri = new Uri("www.someURI"), Method = HttpMethod.Get, }; request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain")); var task = client.SendAsync(request) .ContinueWith((taskwithmsg) => { var response = taskwithmsg.Result; var jsonTask = response.Content.ReadAsAsync<JsonObject>(); jsonTask.Wait(); var jsonObject = jsonTask.Result; }); task.Wait();
更多推荐
添加HTTP标头的HttpClient
发布评论