call JSON RPC API Using C#?
call JSON RPC API Using C#?
I am trying to call JSON RPS API Using C#. I have added my own IP address with its credentials.
Before writing API in C#, I have installed Bitcoin on my server. Now, using the server details, i would like to test the API whether it is working or not.
Here is the program.cs file.
public static void Main(string[] args)
{
var data = RequestServer("getaccount", new List<string>() { "value"});
Console.WriteLine(data);
Console.ReadKey();
}
public static async Task<string> RequestServer(string methodName, List<string> parameters)
{
string ServerIp = "http://***.***.**.***:8333";
string UserName = "root";
string Password = "********";
HttpWebRequest webRequest = HttpWebRequest.CreateHttp(ServerIp);
webRequest.Credentials = new NetworkCredential(UserName, Password);
webRequest.ContentType = "application/json-rpc";
webRequest.Method = "POST";
HttpClient cli = new HttpClient();
cli.DefaultRequestHeaders.ExpectContinue = false;
string respVal = string.Empty;
JObject joe = new JObject();
joe.Add(new JProperty("jsonrpc", "1.0"));
joe.Add(new JProperty("id", "1"));
joe.Add(new JProperty("method", methodName));
JArray props = new JArray();
foreach (var parameter in parameters)
{
props.Add(parameter);
}
joe.Add(new JProperty("params", props));
// serialize json for the request
string s = JsonConvert.SerializeObject(joe);
byte[] byteArray = Encoding.UTF8.GetBytes(s);
Stream dataStream =await webRequest.GetRequestStreamAsync();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Dispose();
StreamReader streamReader = null;
try
{
HttpWebResponse webResponse = await webRequest.GetResponseAsync() as HttpWebResponse;
streamReader = new StreamReader(webResponse.GetResponseStream(), true);
respVal = streamReader.ReadToEnd();
var data = JsonConvert.DeserializeObject(respVal).ToString();
return data;
}
catch (Exception exp)
{
Console.WriteLine(exp.InnerException.Message);
}
finally
{
if (streamReader != null)
{
streamReader.Dispose();
}
}
return string.Empty;
}
}
Can any one help me to test the api using my server details please?
http://ift.tt/2F4Kbod
Comments
Post a Comment