Sortieren nach:
View:

Kategorie: Allgemein

Header eines WebRequest-Objekts ändern (oder hinzufügen)


Eine wirklich wertvolle Information für alle, die Dinge im Request-Header eines Webrequests ändern oder hinzufügen wollen, die SO normalerweise einer Prüfung nicht stand halten würden, weil es sie schlicht nicht gibt. Während eine normale Änderung einen Ausnahmefehler "Dieser Header muss mit der entsprechenden Eigenschaft geändert werden" hervorrufen würde, funktioniert es prächtig, indem man per Reflection "an der Prüfung vorbei" arbeitet 😉 Hier ein Beispiel in C#.NET, in welchem dem Request-Header eine Eigenschaft "Accept" hinzugefügt wird:
Type type = request.Headers.GetType();
System.Reflection.BindingFlags flags = System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic;
 System.Reflection.MethodInfo m = type.GetMethod("AddWithoutValidate", flags);
m.Invoke(request.Headers, new string[] { "Accept", "application/vnd.vendor+json" });

Menüleiste