问题标签 [xmlrpclib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 python 中使用 **kwargs 和 SimpleXMLRPCServer
我有一个类,我希望使用 pythons SimpleXMLRPCServer 将其公开为远程服务。服务器启动如下所示:
然后我有一个如下所示的 ServiceRemote 类:
因此,对 ServiceRemote 对象的所有调用都将转发到 xmlrpclib.Server,然后再将其转发到远程服务器。问题是服务中采用命名可变参数的方法:
@useDb 装饰器包装函数,在调用之前创建数据库并打开它,然后在调用完成后关闭它,然后返回结果。
当我调用此方法时,我收到错误“ call () got an unexpected keyword argument 'name'”。那么,是否可以远程调用采用变量命名参数的方法?或者我是否必须为我需要的每个方法变体创建一个覆盖。
感谢您的回复。我稍微改变了我的代码,所以这个问题不再是问题。但是,如果我确实需要实现位置参数并支持远程调用,现在我知道这一点以供将来参考。我认为 Thomas 和 praptaks 方法的结合会很好。通过 xmlrpclient 将 kwargs 转换为客户端上的位置参数,并在服务器端的方法上有一个包装器来解包位置参数。
python - 如何使用 xmlrpclib 将 client_address 公开给所有方法?
我创建了一个小的 SimpleXMLRPCServer 来检查客户端的 ip。
我试试这个:
服务器
导入 xmlrpclib
从 SimpleXMLRPCServer 导入 SimpleXMLRPCServer
服务器 = SimpleXMLRPCServer(("localhost", 8000))
def MyIp(): return "Your ip is: %s" % server.socket.getpeername()
server.register_function(MyIp)
server.serve_forever()
客户
导入 xmlrpclib
se = xmlrpclib.Server(" http://localhost:8000 ")
打印 se.MyIp()
错误
xmlrpclib.Fault: :(107, '传输端点未连接')">
如何使所有功能都可以看到 client_address?
python - Python XMLRPC:在客户端处理任意异常
我正在尝试将任意异常从 XMLRPC 服务器传递到客户端(两个 Python 脚本,异常类型都在两侧定义)。ActiveState Recipes中有一个示例性的客户端实现,它解析返回的“faultString”,将其与已知异常列表进行比较,如果找到,则引发该异常(而不是将其包装在xmlrpclib.Fault
.
XMLRPC 异常响应示例:
ActiveState 配方拆分“ValueError:”字符串并将“ValueError”与ValueError.__name__
(在 中allowed_errors = [ValueError, TypeError]
,参见上面的链接)进行比较。
是否可以像这样传递所有异常,即在客户端(在服务器上引发之后)自动引发任何异常(从Exception
或其他基类派生)?
ActiveState 脚本有效,但我不想注册可能引发的每一个异常(必须在 中allowed_errors
)。
(额外的问题:除了 XMLRPC 之外还有其他技术可以正确处理这个问题吗?Pyro?)
python - xmlrpclib 客户端请求超时
我正在使用 Python 的 xmlrpclib 向 xml-rpc 服务发出请求。
有没有办法设置客户端超时,所以当服务器不可用时我的请求不会永远挂起?
我知道我可以使用 全局设置套接字超时socket.setdefaulttimeout()
,但这并不可取。
python - 从 Python 脚本中调用 Python 交互式解释器
有没有办法从脚本中启动 Python 解释器,其方式类似于仅使用python -i
以便保留当前脚本中的对象/命名空间等?不使用的原因是脚本初始化了与 XML-RPC 服务器的连接,如果出现错误python -i
,我需要能够停止整个程序。在有有效输入之前我不能循环,因为显然我不能做这样的事情:
因为:
不幸的是,python -i
在它打印出回溯后立即启动解释器,所以我不得不从脚本中调用交互式解释器 - 替换脚本的执行以保持服务器连接
python - XML-RPC 通常允许一次调用几个函数吗?
我可以在一篇关于 XML-RPC 服务器的帖子中问几个问题吗?如果是,我该如何在 python 和 xmlrpclib 中做到这一点?
我在慢速连接上使用 XML-RPC 服务器,所以我想一次调用几个函数,因为每次调用花费我 700 毫秒。
c# - C# 中的 IronPython:没有名为 xmlrpclib 的模块
我正在尝试使用 IronPython 的交互式控制台构建一个 Web 应用程序。当我尝试在 IronPython 的普通控制台中导入 xmlrpclib 时,它可以工作。但是,如果我在 C# 代码中使用 IronPython,它会引发异常“没有名为 xmlrpclib 的模块”。这是一个已知的问题?有什么解决方案可以解决这个问题?
这是代码:
python - 将 gevent 与 python xmlrpclib 一起使用
是否可以将 python 的标准库 xmlrpclib 与 gevent 一起使用?目前我正在尝试使用 monkey.patch_all(),但没有成功。
urllib2.urlopen 正在阻塞服务器。在我看来,monkey.patch_all 没有修补套接字,这就是它阻塞的原因。
ruby-on-rails - Rails 应用程序界面架构设计
我有一个 Rails 应用程序,用作数据混合的接口。我需要的大部分信息都是从使用 XML-RPC 的命令行程序中检索到的。除此之外,我需要一些额外的数据,我别无选择,只能存储在数据库中。出于这个原因,我很难弄清楚设计应用程序的最佳方法是什么。
我已经重写了self.all
并且self.find(id)
它们依赖于对对象的调用super
,然后通过将其实例变量定义为使用 XML-RPC 从程序中检索到的适当数据来“丰富”该对象。
不过,这一切似乎都很令人费解。例如,我想我已经失去了使用魔法探测器 ( find_by_x
) 的能力,我不知道是否会因此而破坏其他任何东西。
我的问题是,是否有一种更合乎逻辑和更明智的方式来做这件事。也就是说,设计一个应用程序,它的数据大部分依赖于 XML-RPC,但也有一些数据存储在数据库中。
我确实读过关于after_find
. 使用这个回调,我可以实现“对象丰富”过程,并让它在找到记录的任何时候运行。但是,我检索与项目关联的数据的方法与检索所有项目数据的方法不同。我检索所有项目数据的self.all
方式(如果有一种方法可以使回调不适用于调用,这将很有效。self.find
self.all
python - 使用 python ping Pingomatic (XMLRPC) 时出错
我正在尝试使用 python ping Pingomatic。
我写了这个:
但是当我跑步时,我得到:
我怎样才能解决这个问题?
谢谢你。