【发布时间】:2020-08-10 11:22:04
【问题描述】:
我正在尝试使用 random.org 在我的 go 程序中生成随机数。看来我需要建立一个json-rpc连接,所以我尝试使用jsonrpc.Dial(network, adress)的方法。所有 api 说的是我需要调用 https://api.random.org/json-rpc/2/invoke;我应该使用什么作为网络(以及什么是网络)?
【问题讨论】:
我正在尝试使用 random.org 在我的 go 程序中生成随机数。看来我需要建立一个json-rpc连接,所以我尝试使用jsonrpc.Dial(network, adress)的方法。所有 api 说的是我需要调用 https://api.random.org/json-rpc/2/invoke;我应该使用什么作为网络(以及什么是网络)?
【问题讨论】:
如果您查看the source code 中的jsonrpc.Dial,您会看到network 参数直接传递给net.Dial,其godoc 解释说:
已知网络有“tcp”、“tcp4”(仅限 IPv4)、“tcp6”(仅限 IPv6)、“udp”、“udp4”(仅限 IPv4)、“udp6”(仅限 IPv6)、 “ip”、“ip4”(仅限 IPv4)、“ip6”(仅限 IPv6)、“unix”、“unixgram”和“unixpacket”。
【讨论】:
jsonrpc.Dial("tpc", "api.random.org/json-rpc/2/invoke:https"),但似乎没有任何变化,所有这些都导致panic: dial tcp: lookup api.random.org/json-rpc/2/invoke: no such host
Dial("tcp", "api.random.org:443") 用于 HTTPS。 api.random.org/json-rpc/2/invoke 不是有效的主机名。
json-rpc/2/invoke,这些方法肯定不会正常工作吗?