Derzeit arbeite ich an API-Wrapper. Wenn ich eine schlechte Consumer Key
sende, wird der Server Status
als 403 Forbidden
in der Kopfzeile zurückgeben. Es werden auch benutzerdefinierte Header übergeben. Wie lade ich diese benutzerdefinierten Header tatsächlich ab?HttpClient alle Header abrufen
Dies ist die Antwort vom Server erhalten.
Cache-Control: private
Date: Wed, 01 May 2013 14:36:17 GMT
P3P: policyref="/w3c/p3p.xml", CP="ALL CURa ADMa DEVa OUR IND UNI COM NAV INT STA PRE"
Server: Apache/2.2.23 (Amazon)
Status: 403 Forbidden
X-Error: Invalid consumer key.
X-Error-Code: 152
X-Powered-By: PHP/5.3.20
Connection: keep-alive
Ich brauche die X-Error
und X-Error-Code
abzurufen. Derzeit verwende ich die Klasse HttpClient
, um die Anfrage zu bearbeiten. Wenn ich die Header unter Schnell Uhr in VS Studio 2012 reagieren sehen, konnte ich es wie dieses finden
((System.Net.Http.Headers.HttpHeaders)(response.Headers)).headerStore["X-Error-Code"].ParsedValue
Gibt es eine andere Möglichkeit, dies zu tun?
Bearbeiten: headerStore
ist nicht zugänglich durch Code, da dies private Feld ist. Ich bekomme nur über das Quick Watch-Fenster Zugriff darauf.
Das ist mein Snippet für die Anfrage:
var response = await _httpClient.PostAsync("/v3/oauth/request", content);
Nein, kann ich nicht tun, wie ich diesen Fehler erhalten würde 'Fehler Indizierung gelten 3Cannot mit [], um einen Ausdruck vom Typ System.Net.Http.Headers.HttpResponseHeaders''. Ich werde meinen Code oben zur besseren Übersicht aktualisieren. –
@ShulhiSapli: Ah - hatte nicht bemerkt, dass es 'HttpClient' war. Wird bearbeiten. –
Wenn Sie mehr Details benötigen, können Sie hier einen Blick darauf werfen, https://github.com/shulhi/PocketNet/blob/dev/PocketNet/PocketNet/Authenticator/PocketOauth.cs –