V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mmr
V2EX  ›  问与答

有什么支持 RPC 协议的接口文档、管理、测试工具呢?

  •  
  •   mmr · 2022-12-27 10:36:02 +08:00 · 910 次点击
    这是一个创建于 731 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我试了几个都只支持 HTTP(S) 和 WS(S)

    3 条回复    2022-12-27 10:46:10 +08:00
    securityCoding
        1
    securityCoding  
       2022-12-27 10:42:29 +08:00
    私有协议怎么给你支持?
    me221
        2
    me221  
       2022-12-27 10:45:06 +08:00
    BloomRPC ?
    mmr
        3
    mmr  
    OP
       2022-12-27 10:46:10 +08:00
    @securityCoding 我不太了解这个,看他的代码是基于 POST 发送的……。
    ```python
    def _request(
    self,
    method: RpcMethod,
    arguments: Optional[Dict[str, Any]] = None,
    ids: Optional[_TorrentIDs] = None,
    require_ids: bool = False,
    timeout: Optional[_Timeout] = None,
    ) -> dict:
    """
    Send json-rpc request to Transmission using http POST
    """
    if not isinstance(method, str):
    raise ValueError("request takes method as string")
    if arguments is None:
    arguments = {}
    if not isinstance(arguments, dict):
    raise ValueError("request takes arguments as dict")

    ids = _parse_torrent_ids(ids)
    if len(ids) > 0:
    arguments["ids"] = ids
    elif require_ids:
    raise ValueError("request require ids")

    query = {"tag": self._sequence, "method": method, "arguments": arguments}

    self._sequence += 1
    start = time.time()
    http_data = self._http_query(query, timeout)
    elapsed = time.time() - start
    self.logger.info("http request took %.3f s", elapsed)
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2749 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:11 · PVG 21:11 · LAX 05:11 · JFK 08:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.