![](/img/trans.png)
[英]MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence
[英]getResponseBodyAsStream returns “Invalid byte 1 of 1-byte UTF-8 sequence”
我的代码是
PostMethod method = new PostMethod(TRANSLATION_SERVICE);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(method.getResponseBodyAsStream());
它产生
1字节UTF-8序列的无效字节1
当我使用method.getResponseBodyAsString()
,我得到了所需的响应,但是API明确指出:
注意:这将导致整个响应主体被缓存在内存中。 恶意服务器可能会轻易耗尽所有VM内存。 如果响应的内容长度未知或较大,则强烈建议使用getResponseAsStream。
是否有上述方法的替代方法?
您正在阅读的内容声称使用UTF-8编码,但并未使用(可能使用LATIN-1或Windows默认编码):也就是说,XML文档是否已损坏? 或您调用的服务返回错误的编码定义。 无论哪种方式,服务都会向您返回无效信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.