几周前我编写了一个Python脚本,它将一些内容发布到Wordpress博客,但是自从上周它停止工作(我没有改变任何东西),现在当我运行脚本时,我得到了这个错误:
File "C:\Python27\lib\xmlrpclib.py", line 557, in feed
self._parser.Parse(data, 0)
ExpatError: junk after document element: line 2, column 0
我用来将所需内容发布到Wordpress的功能是:
post_id = server.wp.newPost(blog_id, user, passw, content)
它曾经工作过,因为它开始崩溃(显然)没有理由。
¿你现在可能是造成这个错误的原因吗?¿我的Wordpress可能已经被感染了(我已经检查过了)?
谢谢,如果您需要更多代码来检查我会发布的内容,并抱歉我的英语不好。
重要编辑: 之前我没有提到过,但是这个脚本与其他wordpress博客完美配合,当我尝试发布到WP博客时我只是崩溃了(这就是为什么我认为该网站可能被感染了)。
当代码有效时,data
中使用的变量self._parser.Parse(data, 0)
具有以下内容:
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<string>90</string>
</value>
</param>
</params>
</methodResponse>
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<int>90</int>
</value>
</param>
</params>
</methodResponse>
修改: 数据变量是由库使用的,我不知道它应该包含什么但是debuggin我发现当脚本崩溃时它有这样的内容:
<br />
<b>Warning</b>: strpos() [<a href='function.strpos'>function.strpos</a>]: Empty delimiter in <b>/PATH/wp-includes/class-wp-xmlrpc-server.php</b> on line <b>3954</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /PATH/wp-includes/class-wp-xmlrpc-server.php:3954) in <b>/PATH/wp-includes/class-IXR.php</b> on line <b>471</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /PATH/wp-includes/class-wp-xmlrpc-server.php:3954) in <b>/PATH/wp-includes/class-IXR.php</b> on line <b>472</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /PATH/wp-includes/class-wp-xmlrpc-server.php:3954) in <b>/ANOTHER_PATH/public_ht
正如我所说,我不知道'数据'应包含什么,当代码工作时,我从未检查过它的内容是什么。