すべて:
Webサービスにリクエストを送信する前に、HttpClientにhttpヘッダーを追加する必要があります。 (将来のすべてのリクエストに対する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();
HttpRequestMessage
を作成し、Methodを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();
すべてのリクエストで同じヘッダーになる場合または各リクエストの後にクライアントを破棄する場合は、DefaultRequestHeaders.Add
オプションを使用できます。
client.DefaultRequestHeaders.Add("apikey","xxxxxxxxx");