Alles:
Ich muss dem HttpClient http-Header hinzufügen, bevor ich eine Anfrage an einen Webservice schicke. Wie mache ich das für eine individuelle Anfrage (im Gegensatz zum HttpClient für alle zukünftigen Anfragen)? Ich bin mir nicht sicher, ob das überhaupt möglich ist.
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();
Erstellen Sie eine HttpRequestMessage
, legen Sie die Methode auf GET
fest, setzen Sie Ihre Kopfzeilen und verwenden Sie SendAsync
statt 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();
Sie können auch Header hinzufügen.
//using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("apikey","xxxxxxxxx");
} //