2016-04-22 7 views
1

TXをプッシュする方法を書こうとすると、プログラマチックにPOSTリクエストを行ったことはありません。 blockrからの文書によると、私はこれを行うことになってるC#でのPOSTリクエストをblockr.ioに送ることができません

:(!)のトランザクションを公開するには

は、プッシュAPIへのあなたの取引 進とPOSTリクエストを行います。

このカール使用すると、(シェルの例)のようになる:

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

私は左と右の500エラーを取得しています。

私はC#でこれをやっていますが、助けてくれますか?デフォルトUploadValuesによって

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); 
     } 
    } 

答えて

0

は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); 
    } 
} 

や、NewtonSoft

+0

としてJSONシリアライザを使用しねえ、迅速な回答に感謝。 POSTでこの文字列を取得しています: ** "{\" hex \ ":\" 01000000 ....(続き)\ "}" ** 私が収集したものから作業する必要がありますが、これと同様のフォーマットの他のサイトでは、500個のエラーで失敗します。 例、他のサイトのためのPythonコード: '戻りmake_request( 'https://blockchain.info/pushtx'、+ TX '= TX')Iは、VaRのデータ 'として文字列をフォーマットしようとした' = POST1 + Post2;、まだ500のエラーを取得します。 – user342872

+0

これは、データの送信方法やヘッダーに違いがあります。いずれの場合も、Fiddler(http://www.telerik.com/fiddler)などのツールを使用して、サーバーに何が送信されているかを調べることができます。 – Simon

関連する問題