HttpListener Server Header c #

Estoy intentando escribir un servidor http de C # para un proyecto personal, me pregunto cómo puedo cambiar el encabezado del servidor devuelto de Microsoft-HTTPAPI / 2.0, a otra cosa.

public class HttpWebServer { private HttpListener Listener; public void Start() { Listener = new HttpListener(); Listener.Prefixes.Add("http://*:5555/"); Listener.Start(); Listener.BeginGetContext(ProcessRequest, Listener); Console.WriteLine("Connection Started"); } public void Stop() { Listener.Stop(); } private void ProcessRequest(IAsyncResult result) { HttpListener listener = (HttpListener)result.AsyncState; HttpListenerContext context = listener.EndGetContext(result); string responseString = "Hello World"; byte[] buffer = Encoding.UTF8.GetBytes(responseString); context.Response.ContentLength64 = buffer.Length; System.IO.Stream output = context.Response.OutputStream; output.Write(buffer, 0, buffer.Length); output.Close(); Listener.BeginGetContext(ProcessRequest, Listener); } } 

La clase HttpListener encapsula la API nativa, la función HttpSendHttpResponse , que, como se indica en el enlace, siempre agregará el texto absurdo a la información del encabezado del servidor.

No hay forma de solucionarlo, a menos que desee codificar su HttpListener desde cero.

Sé que llegué un poco tarde, pero recientemente estaba intentando hacer lo mismo y accidentalmente encontré una solución que funciona, pero no estoy seguro de si tiene alguna repercusión.

 Response.Headers.Add("Server", "\r\n\r\n"); 

Lo intenté, pero vuelve con Mi servidor personal Microsoft-HTTPAPI / 2.0

También lo he usado sin éxito, configurar, eliminar, agregar, agregar encabezado

 private void ProcessRequest(IAsyncResult result) { HttpListener listener = (HttpListener)result.AsyncState; HttpListenerContext context = listener.EndGetContext(result); string responseString = "Hello World"; byte[] buffer = Encoding.UTF8.GetBytes(responseString); context.Response.ContentLength64 = buffer.Length; //One context.Response.AddHeader("Server", "My Personal Server"); //Two context.Response.Headers.Remove(HttpResponseHeader.Server); context.Response.Headers.Add(HttpResponseHeader.Server, "My Personal Server"); //Three context.Response.Headers.Set(HttpResponseHeader.Server, "My Personal Server"); System.IO.Stream output = context.Response.OutputStream; output.Write(buffer, 0, buffer.Length); output.Close(); Listener.BeginGetContext(ProcessRequest, Listener); } 

Gracias Elijah