ich einen JSON-API in C# Methoden sind zu übersetzen, und ich stieß auf ein Problem, wo der JSON-RPC API (POST) sagtC# HttpWebRequest "Request-Header" in JSON POST
Alle andere Methoden das Ergebnis von Authentifizierung erfordern (= sessionId) entweder pro pathparameter
;jsessionid=644AFBF2C1B592B68C6B04938BD26965
oder pro Cookie (Request)
JSESSIONID=644AFBF2C1B592B68C6B04938BD26965
Meine aktuelle WebRequest Methode:
private async static Task<string> SendJsonAndWait(string json, string url, string sessionId) {
string result;
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using(StreamWriter streamWriter = new StreamWriter(await httpWebRequest.GetRequestStreamAsync())) {
await streamWriter.WriteAsync(json);
streamWriter.Flush();
streamWriter.Close();
}
HttpWebResponse httpResponse = (HttpWebResponse)await httpWebRequest.GetResponseAsync();
Stream responseStream = httpResponse.GetResponseStream();
if(responseStream == null)
throw new Exception("Response Stream was null!");
using(StreamReader streamReader = new StreamReader(responseStream)) {
result = await streamReader.ReadToEndAsync();
}
return result;
}
Wie füge ich die JSESSIONID
Parameter zu meinem WebRequest? WebRequests kenne ich nicht, bitte kurz erklären!
Vielen Dank!
Haben Sie versucht, direkt zu Ihrer URL hinzuzufügen? –
Wie @RomEh vorgeschlagen, können Sie den Parameter der URL als Abfragezeichenfolgeparameter hinzufügen, oder Sie können ein Wörterbuchobjekt mit den Schlüsseln 'sessionid' und' json' zusammen mit ihren Werten erstellen, es als JSON-Zeichenfolge serialisieren und dann Fügen Sie es dem Anforderungsstream hinzu. –