Python中的XMLRPC(Calendar)
2024-09-05 12:34:46
XMLRPC服务器端代码,定义了三个方法名,getMonth获取所给月份的日历,getYear获取一年的日历,getDict测试返回字典的效果。
xmlrpc_server.py:
#!/usr/bin/python
# coding: utf-8 import calendar, SimpleXMLRPCServer, time, string, os #创建 Server 对象
class Calendar:
def getMonth(self, year, month):
if(type(year) is type("")):
if(year.isdigit()):
year=string.atoi(year)
else:
return "error,the argv must be number"
if(type(month) is type("")):
if(month.isdigit()):
month=string.atoi(month)
else:
return "error,the argv must be number"
return calendar.month(year,month) def getYear(self, year):
if(type(year) is type("")):
if(year.isdigit()):
year=string.atoi(year)
else:
return "error,the argv must be number"
return calendar.calendar(year) def getDict(self):
dict={'':'','':'','':''}
return dict #创建实例
calendar_object = Calendar()
server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8888))
server.register_instance(calendar_object) #输出信息,等待链接
print "Listening on port 8888"
server.serve_forever()
客户端:xmlrpc_client.py:
#!/usr/bin/python
# coding: utf-8 import xmlrpclib
server = xmlrpclib.ServerProxy("http://localhost:8888")
month = server.getMonth (2014,8)
print month year = server.getYear(2888)
print year dict = server.getDict()
print dict for keys in dict.keys():
print "key=%s,value=%s"%(keys,dict[keys])
执行:
chmod u+x xmlrpc_server.py
./xmlrpc_server.py
新的终端:
chmod u+x xmlrpc_client.py
./xmlrpc_client.py
效果如图:
最新文章
- 编写高质量代码:改善Java程序的151个建议(第3章:类、对象及方法___建议47~51)
- 三分钟集成elmah xml 格式日志到mvc站点
- ASP.NET 5 入门 (3) – Logging
- 跨浏览器事件EventUtil
- MVC中的@section
- Python自动化之线程进阶篇(二)
- python核心编程学习记录之模块
- PostgreSQL连接Python
- mysql建表时拆分出常用字段和不常用字段
- shell脚本操作mysql数据库—创建数据库,在该数据库中创建表(插入,查询,更新,删除操作也可以做)
- MYSQL知识点
- 在树莓派上编译安装golang环境
- Android进阶(九)APP编程感想
- 执行Python程序的两种方式
- EditPlus提示错误:找不到或无法加载主类
- Laravel 多数据库配置及查询操作
- Best Practices and Recommendations for RAC databases with SGA size over 100GB (文档 ID 1619155.1)
- Spring Boot中使用断路器
- SP四种作用范围pageContext、request、session、application 一看就懂
- 系统引导修复,grub2下的各种骚作