jsonrpcパッケージは現時点でHTTP over json-rpcをサポートしていません。だから、あなたはそれを使用することはできません、ごめんなさい。
しかし、jsonrpc specificationは非常に簡単で、おそらくあなた自身のjsonrpchttp
(ああ、私はあなたがより良い名前を知って欲しい)パッケージを書くのはかなり簡単です。
私は正常に、次の(恐ろしい)コードを使用「GETINFO」と呼ぶことができました:たぶん、あなたは(例えばjsonrpc/client.goを参照)rpc.ClientCodecインタフェースを実装することにより、少しそれをクリーンアップすることができます
package main
import (
"encoding/json"
"io/ioutil"
"log"
"net/http"
"strings"
)
func main() {
data, err := json.Marshal(map[string]interface{}{
"method": "getinfo",
"id": 1,
"params": []interface{}{},
})
if err != nil {
log.Fatalf("Marshal: %v", err)
}
resp, err := http.Post("http://bob:[email protected]:8332",
"application/json", strings.NewReader(string(data)))
if err != nil {
log.Fatalf("Post: %v", err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("ReadAll: %v", err)
}
result := make(map[string]interface{})
err = json.Unmarshal(body, &result)
if err != nil {
log.Fatalf("Unmarshal: %v", err)
}
log.Println(result)
}
を。その後、Goのrpcパッケージを利用することができます。
これはあなたの問題に対する解決方法ではありませんか? http://stackoverflow.com/questions/8854682/go-json-rpc-too-many-colons – thwd
いいえ、それは私が思っている問題の一部だけを解決した、私はまだ "そのようなホスト"と他のもの私が試した多くの異なる設定のどれに応じて。そのため、アドレスに "http://"を入れるか、rpcを使うか、jsonrpcを使うか、ダイヤルやDialHTTPを呼び出すかどうかはあまりにも多いそれらのすべてを試して調整するオプション。 – ThePiachu
コードを見せてください! – Mostafa