当 Windows Live Writer 在取回 Wordpress 平台建立的博客的日志(或页面),或者发布日志的时候出现如下错误对话框:
其中有如下的错误信息(如上图红色方框内文字):
Invalid response document returned from XmlRpc server
解决办法:
- 打开 wordpress 程序下的/wp-includes/class-IXR.php 文件
- 找到字段:$length = strlen($xml);
- 将其替换为:$length = strlen($xml)+3;
- 保存即可
原因,据说是:因为 wordpress 本身的一个 bug,在 utf-8 编码下,xmlrpc 返回的格式不正确,缺了三个字节,所以那个字段后+3;也有说是因为 wordpress 的编码 (utf-8) 与 Windows Live Writer(utf-8 +) 编码不一样。
但是这个错误不是所有的 Windows Live Writer+wordpress 的环境都出现,而可能是更换了某个主题的时候才会出现。也有可能是某个插件引起的,比如这篇文章所说。
参考资料:
几乎每次大版本升级都要重改一次,好麻烦,有没有什么更好的方法?
wordpress 也真不靠谱,2012 年就爆出的漏洞,到现在 2014 年,都 4.0 版本了,还没有修复
按照您的方法 没有解决、。。
根据你的方法解决了,非常感谢了;有搜索到一篇比较详细的,可以添加到你的参考资料中 http://www.blogfuntw.com/2012/12/invalid-response-document-returned-from-xmlrpc-server/。
恩,很高兴帮到你,也多谢补充资料,这就添加上去。不过我自己也很久不使用离线编辑器,都直接在线编辑了