webentwicklung-frage-antwort-db.com.de

Hinzufügen von HTTP-Headern zu HttpClient

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();
124
Ryan Pfister

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();
204
Darrel Miller

Sie können auch Header hinzufügen.

            //using (var client = new HttpClient())
{
 client.DefaultRequestHeaders.Add("apikey","xxxxxxxxx");
 }           //       
0
Taran