无法在 C# 上对 blockr.io 执行 POST 请求

Can't do POST request on C# to blockr.io

试图编写一种推送 TX 的方法,但我从未以编程方式完成 POST 请求,所以我显然搞砸了某个地方。

根据 blockr 的文档,我应该这样做:

To publish a transaction make a POST (!) request with your transaction hex to the push API.

Using curl this would be like (shell example):

curl -d '{"hex":"TX_HASH"}' http://btc.blockr.io/api/v1/tx/push

我遇到了 500 个错误。

我在 C# 上做这个,有人可以帮忙吗?

Post("http://btc.blockr.io/api/v1/tx/push", "hex", HexString);


    public static void Post(string RequestURL, string Post1, string Post2)
    {
        using (var wb = new WebClient())
        {
            var data = new NameValueCollection();
            data[Post1] = Post2;
            var response = wb.UploadValues(RequestURL, "POST", data);
        }
    }

默认情况下,UploadValues 不会格式化 json 中的数据,您可以自己格式化:

public static void Post(string RequestURL, string Post1, string Post2)
{
    using (var wb = new WebClient())
    {
        var data = string.Format("{0}\"{1}\":\"{2}\"{3}", "{", Post1, Post2, "}");
        var response = wb.UploadString(RequestURL, "POST", data);
    }
}

或者使用 JSON 序列化程序,例如 NewtonSoft