仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 917|回复: 9
打印 上一主题 下一主题

[CentOS(社区)] 带来一篇python xmlrpclib base64编码

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:CentOS完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标。
在xmlrpclib中,必要传送二进制的数据,因而利用了BinaryObjects来打包,写了以下两个函数:
defencodebindata(data):
out=StringIO.StringIO()
bin=xmlrpclib.Binary()
bin.data=data
bin.encode(out)
data2=out.getvalue()
returndata2
defdecodebindata(data):
bin=xmlrpclib.Binary()
data1=bin.decode(data)
returnbin.data
在挪用decodebindata函数解码的时分,总是堕落,提醒”binascii.Error:incorrectpadding”之类的。看了一下xmlrpclib.py内里的Binary类界说:
defdecode(self,data):
self.data=base64.decodestring(data)
defencode(self,out):
out.write(”<value><base64>n”)
base64.encode(StringIO.StringIO(self.data),out)
out.write(”</base64></value>n”)
Binary的编解码实在用到的是base64的decodestring和encode,感到不太婚配,base64中,encode应当和decode配对,decodestring和encodestring配对。因而实验了一下间接利用base64来打包,不利用xmlrpclib的BinaryObjects。从头界说两个函数以下:
defencodebindata(data):
out=StringIO.StringIO()
bin=StringIO.StringIO(data)
base64.encode(bin,out)
data2=out.getvalue()
returndata2
defdecodebindata(data):
out=StringIO.StringIO()
bin=StringIO.StringIO(data)
base64.decode(bin,out)
data2=out.getvalue()
returndata2
经由测试,没有任何成绩了
xmlrpclib的BinaryObjects打包以后就是xml情势的数据了,能够间接传送了。不克不及打包以后当即解包。
from:http://blog.robotercoding.com/?cat=5&paged=2



小知识:社区支持的免费Linux发行版一般不会从商业支持中寻求什么好处,但对CentOS来说,这种情况即将改变。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-17 09:14:13 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
海妖 该用户已被删除
板凳
发表于 2015-1-20 23:28:34 | 只看该作者
熟读写基础知识,学得会不如学得牢。
蒙在股里 该用户已被删除
地板
发表于 2015-1-30 07:31:06 | 只看该作者
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
爱飞 该用户已被删除
5#
发表于 2015-2-6 08:59:39 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-15 22:03:10 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
变相怪杰 该用户已被删除
7#
发表于 2015-3-4 16:01:20 | 只看该作者
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
乐观 该用户已被删除
8#
发表于 2015-3-11 20:33:59 | 只看该作者
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
老尸 该用户已被删除
9#
发表于 2015-3-19 14:04:22 | 只看该作者
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
透明 该用户已被删除
10#
发表于 2015-3-28 21:08:51 | 只看该作者
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表