我无法找到任何关于此的文档。我需要对需要(基本)身份验证详细信息的API进行JSON-RPC调用,但无法使用标准net/rpc/jsonrpc
包找到任何方法。我的非身份验证代码的剪辑版本如下。
var reply string
netClient, _ = net.Dial("tcp", "localhost:1234")
jsonClient = jsonrpc.NewClient(netClient)
jsonClient.Call("someMethod", someArgs, &reply)
答案 0 :(得分:1)
Basic-Auth是一个HTTP概念。您的代码正在打开与localhost:1234
的“原始”TCP连接。您需要的是下面的HTTP传输层。
有两种方法可以实现您的目标:实现一个讲HTTP的io.ReadWriteCloser
并在示例中使用或实现一个rpc.ClientCodec
来执行HTTP基本身份验证并与{{一起使用1}}。