当前位置:  开发笔记 > 编程语言 > 正文

简单的C++ MIME解析器

如何解决《简单的C++MIME解析器》经验,为你挑选了2个好方法。

我想要消化从PHP脚本发回的C++中的多部分响应.有人知道一个非常轻量级的MIME解析器可以为我做这个吗?



1> 小智..:

我知道这可能太少,太晚了,但我有类似的需求.我想要一个只对MIME进行编码和解码的mime解析器.为了完整性和谷歌能力,我想我应该把我的发现放在这里.请记住,我对发送和接收邮件不感兴趣,只是编码和解码MIME.以下是我为C++ MIME研究的库:

http://www.vmime.org/ - 看起来太多了.包含pop,SMTP,tls,IMAP,可以删除它.Posix和windows.

http://codesink.org/mimetic_mime_library.html - 看起来很有前途.非常好的api用于阅读和创建消息.走了这个.不太重.不得不"修理"2件事.首先对于multipart,代码只检查字符串"multipart"并且不识别"multipart/mixed"并且没有写出部分.其次,我不得不破解mimeentity写代码.它只是写出了std :: deque字段,因为这些字符串似乎按字母顺序排列.这是问题,因为MIME版本必须是写出的第一个字段.所以我修好了.我还必须添加对Content-Length的支持.

http://www.mozilla.org/mailnews/arch/libmime-description.html - 很难找到这个.不得不下载整个包.mailnews \哑剧\型钢

http://www.example-code.com/vcpp/smime.asp - 没有考虑因为它没有源代码并且是特定于Windows的.

http://www.scalingweb.com/mime_parser.php - 没有考虑因为它取决于作者的其他流库.

http://httpd.apache.org/docs/2.2/mod/mod_mime.html - 无法找到此C实现.

虽然我不得不添加一些东西,但我选择了Mimetic来满足我的需求.我找到的解析器都没有处理可选字段(Content-Length等).我还需要它来支持多个平台(Windows,Linux等).



2> jstedfast..:

不要在这里嘟嘟我自己的号角,但GMime是一个用C编写的非常完整的MIME解析器,可以处理Content-Length头.它还可以轻松处理DOS和UNIX行结束,处理破坏的标题字符集编码,不需要你将整个消息读入RAM,支持PGP/MIME等.它还有一套非常全面的单元测试,我用来防止任何回归.

人们已经在Windows上构建它已经有一段时间了(在cygwin和/或mingw32 afaik下),但过去一周左右我一直花时间通过设置Visual C++项目/解决方案文件使Windows成为一流的优先级并确保一切都建立.

我想发布即使你已经发现了一个MIME解析器,只是因为其他可能有类似问题的人可能会看到另一个选项,如果上述解决方案不符合他们的需求.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有