是否可以使用Python将二进制文件发布到usenet?

2024-05-16 02:41:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python附带的nntplib来发布一些到usenet的帖子。但是我不知道如何使用.post方法发布二进制文件。在

我可以发布纯文本文件,但不能发布二进制文件。有什么想法吗?在

--编辑--

因此,多亏了阿德里安下面的评论,我终于朝着我的目标迈出了一步。在

我现在使用email库生成一个多部分消息,并将二进制文件附加到消息中。但是,我似乎不知道如何将该消息直接传递到nttplib post方法。在

我必须先写一个临时文件,然后把它读回nttplib方法。必须有一种方法可以在记忆中完成这些…有什么建议吗?在


Tags: 文件方法消息编辑目标email二进制评论
1条回答
网友
1楼 · 发布于 2024-05-16 02:41:25

你必须对你的文章进行MIME编码:NNTP新闻组中的二进制帖子就像带有附件的邮件。在

文件必须用ASCII编码,通常使用base64编码,然后将编码的文件打包成多部分MIME消息并发布。。。在

看看^{}模块:它实现了您想要的所有功能。在

我鼓励您阅读^{},这是定义NNTP协议的官方标准。在

关于您问题的第二部分:

使用^{}从字符串构建一个假文件对象(nntplib的post()方法接受打开的文件对象)。 email.Message对象有一个as_string()方法,以普通字符串的形式检索消息的内容。在

相关问题 更多 >