python使用SimpleXMLRPCServer实现远程调用,报错Working outside of application context.

倔强的娃娃笑 2017-11-18 10:00:26
服务器端代码


from flask import Flask
from flask import jsonify
from SimpleXMLRPCServer import SimpleXMLRPCServer
import time
import psutil
import xmltodict
class RPCserver:
def __init__(self):
pass
def time(self):
t = {
"time":int(time.time())
}
return jsonify(t)
def ram(self):
ram = {
"total":psutil.virtual_memory().total//(1024*1024),
"used":psutil.virtual_memory().used//(1024*1024)
}
return jsonify(ram)
def hdd(self):
hdd={
"total":psutil.disk_usage('/').total//(1024*1024),
"used":psutil.disk_usage('/').used//(1024*1024)
}
return jsonify(hdd)
def add(self,x,y):
return x+y
def sub(self,x,y):
return x-y
def json_to_xml(self,json_string):
convertoXml = xmltodict.unparse(json_string);
return convertoXml
server = SimpleXMLRPCServer(("localhost", 3000))
print "Listening on port 3000..."
rpcser = RPCserver()
server.register_instance(rpcser)
server.serve_forever()

客户端代码:

import xmlrpclib
c = xmlrpclib.ServerProxy("http://localhost:3000/")
print c.add(1,3)
print c.sub(1,3)
print c.ram()


输出:
...全文
337 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
QuantumEnergy 2017-11-19
  • 打赏
  • 举报
回复
问题在于Flask上下文,flask不太熟悉,加入 app.app_context()试试看

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧