Ich mache einen einfachen HttpClient
Aufruf wie folgt:HttpResponseMessage fehlende Header während Httpclient verwenden, aber Fiedler findet es
Uri basePath = new Uri("https://my-host.com/");
string path = "api/my-path";
using (HttpClient httpClient = new HttpClient())
{
httpClient.BaseAddress = basePath;
HttpResponseMessage response = await httpClient.GetAsync(path);
if (response.IsSuccessStatusCode)
{
response.Headers.Select(header => header.Key).Dump();
}
}
ich auf der Antwort für einen benutzerdefinierten Auth-Header suchen, aber es fehlt, wenn ich über iterieren Headers
Sammlung.
Allerdings zeigt dieselbe HTTP-Anforderung, die von Fiddler
abgefangen wird, die Kopfzeile. Wenn ich die gleiche Anfrage auf Postman
oder einen Browser mache, sehe ich die Kopfzeile.
Ich frage mich, was ich hier vermisse.
[Update]
Raw Headers auf Fiddler
erfasst von oben denselben Code ausführen:
HTTP/1.1 302 Found
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Location: <redacted>
Server: Microsoft-IIS/8.0
WWW-Authenticate-Test: <redacted>
X-AspNet-Version: 4.0.30319
Set-Cookie: <redacted>
X-UA-Compatible: IE=edge
Date: Sat, 11 Nov 2017 23:15:19 GMT
Content-Length: 0
Headers von oben Code gedruckt:
Pragma
Strict-Transport-Security
X-Content-Type-Options
X-Frame-Options
x-ms-request-id
Cache-Control
P3P
Set-Cookie
Server
X-Powered-By
Date
ich den Header erfassen möchte WWW-Authenticate-Test
was irgendwie herausgefiltert wird, während es durch die HttpClient
Magie geht.
Nach mehr Forschung, erkannte ich, 'HttpClient' Streifen Auth-Header aus der Antwort, wann immer es eine Umleitung (für Sicherheit). So scheint die Lösung den Server zu reparieren 200 statt 302/301 – Amit