gpt4 book ai didi

python-3.x - lxml.etree.SerialisationError : IO_ENCODER ERROR when using cabby/libtaxii

转载 作者:行者123 更新时间:2023-12-05 01:37:54 26 4
gpt4 key购买 nike

我工作的公司有一个生产 TAXII 服务器(使用 STIX 1.1.1),它不能很好地与我们客户的一些客户端 TAXII 实现一起工作,所以我正在开发一个测试服务器来尝试解决一些问题的错误。为此,我一直在使用 cabby 从我们的 TAXII 服务器中提取信息,或者直接从我们的(非 TAXII)API 中提取 STIX/XML 文件并将它们直接插入测试服务器后端。我在生产和测试 TAXII 服务器上同时使用 cabby 时遇到的问题之一是 python lxml 库中的这个错误,它是 Cabby 的依赖项(这只是一个更大的堆栈跟踪的底部)

taxii_xml = response_message.to_xml(pretty_print=True)
File "/usr/local/lib/python3.6/dist-packages/libtaxii/common.py", line 239, in to_xml
return etree.tostring(self.to_etree(), pretty_print=pretty_print)
File "src/lxml/etree.pyx", line 3435, in lxml.etree.tostring
File "src/lxml/serializer.pxi", line 139, in lxml.etree._tostring
File "src/lxml/serializer.pxi", line 199, in lxml.etree._raiseSerialisationError
lxml.etree.SerialisationError: IO_ENCODER

我一直在努力寻找 XML 中导致此错误的原因,但没有取得太大成功。从 XML 中过滤掉可能令人反感的字符的尝试已部分成功,但我也不太确定这就是导致此问题的原因。有没有人对 lxml 中这个错误的确切原因有很好的解释,我认为它与 XML 格式有关,但弄清楚格式错误的种类会非常有帮助

最佳答案

您是否碰巧将系统迁移到更新的系统?

在我们的例子中,一个旧系统有一个 lxml 4.5 的错误。

将其回滚到 2.3 解决了错误:

sudo su
pip uninstall lxml
apt-get install libxml2-dev libxslt1-dev
pip install lxml==2.3

关于python-3.x - lxml.etree.SerialisationError : IO_ENCODER ERROR when using cabby/libtaxii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60381999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com