【问题标题】:Python server exposing both and xml and json rpc interfacePython 服务器同时公开 xml 和 json rpc 接口
【发布时间】:2025-12-13 04:55:02
【问题描述】:

正如标题所说,有没有办法将函数同时暴露给 JSON-RPC 和 XML-RPC 接口?最好是在单个端口上运行的一台服务器可以同时响应这两种类型的请求。

谢谢!

【问题讨论】:

  • 你不能只阅读 http 内容类型标头,然后根据它返回适当的答案。
  • 我想知道是否有支持开箱即用的库。我见过的库只是注册函数并在指定端口上启动服务器,但它们依赖于特定的协议。
  • 最简单的入门方法是使用简单的东西,如烧瓶或瓶子,然后按照下面的建议阅读内容类型标题的请求并应用序列化程序将您的答案转换为正确的格式

标签: python xml-rpc rpc json-rpc


【解决方案1】:

返回不同格式的常用方法之一是以某种方式在 url 中指定您想要的类型。最常见的是:

http://example.com/some/page.<format>

http://example.com/some/page?output=<format>

然后你返回的对象应该被转换成想要的格式:

// somewhere at the end of the method handling the request
return Formater(format_param).format(response_object)

【讨论】:

  • 更好的是使用 HTTP 标头内容类型来请求所需的格式