Я переводите JSON API в C# методы, и я столкнулся с проблемой, где JSON RPC API (POST) говоритC# HttpWebRequest «заголовок запрос» в формате JSON POST
Все другие методы требуют результата аутентификации (= SESSIONID), либо за pathparameter
;jsessionid=644AFBF2C1B592B68C6B04938BD26965
или на печенье (RequestHeader)
JSESSIONID=644AFBF2C1B592B68C6B04938BD26965
Мой текущий WebRequest Метод:
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;
}
Как добавить JSESSIONID
параметр к моему WebRequest? Я не очень хорошо знаком с WebRequests, объясните кратко!
Спасибо!
Вы пытались добавить свой URL прямо сейчас? –
Как показано в @RomEh, вы можете добавить параметр в Url в качестве параметра строки запроса или создать объект словаря с ключами 'sessionid' и' json' вместе со своими значениями, сериализовать его как строку json, а затем добавьте его в поток запросов. –