tag route page net data asp all asp.net-core .net-core

asp.net core - route - Cómo agregar valores de encabezado a HttpWebRequest en.Net Core



forms asp net core (2)

Estoy desarrollando un cliente Http simple para consumir una Asp.Net Core Web API. Quiero pasar algunos valores de encabezado http a la API web a través de HttpHeaderCollection. En versiones anteriores de .Net framework permitía agregar valores de encabezado a HttpHeaderCollection de la siguiente manera

WebHeaderCollection aPIHeaderValues = new WebHeaderCollection(); aPIHeaderValues .Add("UserName","somevalue"); aPIHeaderValues .Add("TokenValue", "somevalue"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers.add(aPIHeaderValues); HttpWebResponse response = (HttpWebResponse)_request.GetResponse();

Pero en .Net Core no hay forma de agregar encabezados a la colección request.Heders . Además, no podemos agregar encabezados definiendo la nueva WebHeaderCollection

WebHeaderCollection aPIHeaderValues = new WebHeaderCollection();

¿Hay alguna forma alternativa de hacerlo en .Net Core


Aquí hay un ejemplo:

SampleClass sampleClass= null; using (HttpClient client = new HttpClient()){ client.DefaultRequestHeaders.Add("Authorization", "TOKEN"); var data = await client.GetAsync("MY_API_URL"); var jsonResponse = await data.Content.ReadAsStringAsync(); if (jsonResponse != null) sampleClass= JsonConvert.DeserializeObject<SampleClass>(jsonResponse); return sampleClass; }


La pregunta es sobre HttpWebRequest , que es diferente de HttpClient .
Usando HttpWebRequest , simplemente asigne un encabezado que desee de esta manera:

request.Headers["HeaderToken"] = "HeaderValue";

.NET core creará el encabezado si no existe.