我尝试使用python附带的nntplib来发布一些到usenet的帖子。但是我不知道如何使用.post方法发布二进制文件。在
我可以发布纯文本文件,但不能发布二进制文件。有什么想法吗?在
--编辑--
因此,多亏了阿德里安下面的评论,我终于朝着我的目标迈出了一步。在
我现在使用email库生成一个多部分消息,并将二进制文件附加到消息中。但是,我似乎不知道如何将该消息直接传递到nttplib post方法。在
我必须先写一个临时文件,然后把它读回nttplib方法。必须有一种方法可以在记忆中完成这些…有什么建议吗?在
Tags:
你必须对你的文章进行MIME编码:NNTP新闻组中的二进制帖子就像带有附件的邮件。在
文件必须用ASCII编码,通常使用
base64
编码,然后将编码的文件打包成多部分MIME消息并发布。。。在看看^{} 模块:它实现了您想要的所有功能。在
我鼓励您阅读^{} ,这是定义NNTP协议的官方标准。在
关于您问题的第二部分:
使用^{} 从字符串构建一个假文件对象(nntplib的
post()
方法接受打开的文件对象)。email.Message
对象有一个as_string()
方法,以普通字符串的形式检索消息的内容。在相关问题 更多 >
编程相关推荐