添加HTTP标头的HttpClient [英] Adding Http Headers to HttpClient
本文介绍了添加HTTP标头的HttpClient的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所有
我需要的HTTP标头添加到HttpClient的之前,我发送给Web服务的请求。我该怎么做,对于单个请求(而不是在HttpClient的所有将来的请求)?我不知道这甚至有可能。
VAR的客户=新的HttpClient();
VAR任务=
client.GetAsync(http://www.someURI.com)
.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(http://www.someURI.com),
方法= 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("http://www.someURI.com")
.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("http://www.someURI.com"),
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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文