Rya*_*ter 147 c# asp.net-web-api dotnet-httpclient
所有:
在向Web服务发送请求之前,我需要将http标头添加到HttpClient.我如何为单个请求执行此操作(而不是将HttpClient应用于所有将来的请求)?我不确定这是否可行.
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();
Run Code Online (Sandbox Code Playgroud)
Dar*_*ler 231
创建一个HttpRequestMessage,将方法设置为GET,设置标题,然后使用SendAsync而不是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();
Run Code Online (Sandbox Code Playgroud)
Tar*_*ran 10
如果它可以是所有请求的相同标头,或者在每个请求之后都处置客户端,则可以使用以下DefaultRequestHeaders.Add选项:
client.DefaultRequestHeaders.Add("apikey","xxxxxxxxx");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125061 次 |
| 最近记录: |