HttpWebRequest: Den basic http authentication header erzwingen

Um in .NET http web request zu realisieren ist die Klasse HttpWebRequest aus dem .NET Framework ist sehr komfortabel. Diese unterstützt auch die Möglichkeit Authentication Informationen im Header mitzusenden. Hier ein vereinfachtes Beispiel dafür var webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.Credentials = new NetworkCredential(userName, password); Nun ist es allerdings so, dass diese Informationen nicht direkt als http Header mitgesendet werden sondern erst auf Anfrage von Server / Service bei einem weiteren Request hinzugefügt werden. Um zu erreichen das der http basic authentcation header immer mitgesendet wird kann man folgenden Code verwenden: public void SetBasicAuthHeader(WebRequest httpRequest, String userName, String userPassword) { var authHeader = Convert.ToBase64String(Encoding.Default.GetBytes(userName + ":" + userPassword)); httpRequest.Headers["Authorization"] = "Basic " + authHeader; } Damit wird der Header direkt beim ersten Aufruf mitgesendet.