Go - JSON-RPC - “too many colons”

2019-02-20 07:03发布

问题:

I'm trying to call a HTTP JSON-RPC server for Bitcoin using Go (not on GAE), but I get error of

dial tcp http://user:pass@127.0.0.1:8332: too many colons in address

or

dial ip http://user:pass@127.0.0.1:8332: lookup http://user:pass@127.0.0.1:8332: no such host

I tried various network configurations, but couldn't get anything going. When I just typed the address into the browser, I got a response from the server:

{"result":null,"error":{"code":-32700,"message":"Parse error"},"id":null}

Which looks like a proper response for an empty call.

How do I correctly call that HTTP JSON-RPC server in Go?

回答1:

Use brackets around the host like this:

[user:pass@127.0.0.1]:8332

Reference:

http://golang.org/src/pkg/net/ipsock.go?s=2247:2304#L68