0

我正在尝试一次通过 HTTP 解析一个来自 MIME/multipart 的原始电子邮件消息。这是其中一封邮件的一部分,我的代码最近抛出此异常的邮件

java.nio.charset.MalformedInputException: Input length = 1

这是(我认为)该邮件的相关部分:

Content-Type: multipart/alternative;
 boundary="------------000401070001090809020709"

--------------000401070001090809020709
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit

是否有一个 Scala 库可以轻松处理这种类型的输入?否则有没有一种简单的方法来编写一些处理它的代码?

我一直在看mime4j和这个scala 代码

到目前为止,我的代码只是使用 scala.io.Source.fromURL 来抓取原始邮件,如下所示:

scrape(scala.io.Source.fromURL(url))

它将 BufferedSource 转换为 String 并将其拆分:

source.mkString.split("\n\n", 2) 

我也尝试过使用隐式编解码器,因为scala.io.Source.fromURL可以采用编解码器:

implicit val codec = Codec("UTF-8")
    codec.onMalformedInput(CodingErrorAction.REPLACE)
    codec.onUnmappableCharacter(CodingErrorAction.REPLACE)

但我认为每个字符集都需要其中一个?

任何帮助是极大的赞赏。

4

0 回答 0