Как вызвать web API из контроллера с несколькими параметрами (без вызова ajax)
Я хочу, чтобы вызвать веб-API контроллера с множеством параметров в формате JSON. Я не хочу использовать вызов Ajax. Так как же я могу это сделать?
Что я уже пробовал:
var jsonData = "{\"jsonrpc\":2.0," + "\"method\":eth_blockNumber," + "\"params\":[]," + "\"id\":83}"; HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(string.Format("https://mainnet.infura.io/qhggowRXK7HIgXB0NEyw",jsonData)); webreq.Method = "POST"; webreq.ContentType = "application/json"; using (var streamWriter = new StreamWriter(webreq.GetRequestStream())) { JavaScriptSerializer serializer = new JavaScriptSerializer(); //var resToWrite = serializer.Deserialize<Dictionary<string, object>>(jsonData); //streamWriter.Write(jsonData); streamWriter.Flush(); streamWriter.Close(); } WebResponse response = webreq.GetResponse(); var streamReader = new StreamReader(response.GetResponseStream()); var result = streamReader.ReadToEnd();
F-ES Sitecore
Что не так с кодом, который вы разместили?
F-ES Sitecore
Вы не думаете, что тот факт, что он выбрасывает ошибку, на какой строке выбрасывается ошибка или какая ошибка выбрасывается, имеет отношение к вашему вопросу?
Hardik Dhankecha
Эту ошибку я получаю, когда запускаю его.
Произошла ошибка.Удаленный сервер вернул ошибку: (400) неверный запрос.System.Net.WebException в System.Net.HttpWebRequest.GetResponse() в NeoAPIProject.Контроллеры.Неоапиконтроллер.ETHAddressListen()
F-ES Sitecore
На самом деле вы не отправляете свои данные json вместе с POST, Этот код ничего не делает
строка.Формат("https://mainnet.infura.io/qhggowRXK7HIgXB0NEyw",jsonData)
Посмотрите на ссылку ниже, которая показывает, как вы отправляете данные с вашим сообщением, в приведенном ниже примере это не json, но это не имеет значения, код все тот же, просто убедитесь, что вы тоже используете правильный тип контента.
https://technet.rapaport.com/Info/Prices/SampleCode/Full_Example.aspx
Hardik Dhankecha
@F-ES спасибо
Позвольте мне проверить это один раз....
ZurdoDev
Такой требовательный. :)