首页 > 解决方案 > 使用 JSON-RPC 调用传递身份验证详细信息

问题描述

我还没有找到任何关于此的文档。我需要对需要传递(基本)身份验证详细信息的 API 进行 JSON-RPC 调用,但找不到使用标准net/rpc/jsonrpc包执行此操作的任何方法。下面是我的非身份验证代码的剪辑版本。

var reply string
netClient, _ = net.Dial("tcp", "localhost:1234")
jsonClient = jsonrpc.NewClient(netClient)
jsonClient.Call("someMethod", someArgs, &reply)

标签: go

解决方案


Basic-Auth 是一个 HTTP 概念。您的代码正在打开一个“原始” TCP 连接到localhost:1234. 您需要的是下面的 HTTP 传输层。

有两种方法可以实现你想要的:要么实现一个 HTTP-speakingio.ReadWriteCloser并在你的示例中使用,要么实现一个执行rpc.ClientCodecHTTP 基本身份验证并与rpc.NewClientWithCodec.


推荐阅读