我收到错误(-32300):传输错误 - HTTP状态代码不是200

时间:2013-01-13 18:24:22

标签: php wordpress xml-rpc

当我尝试在wordpress中使用xmlrpc上传数据时出现错误。用于工作正常的代码,但突然出现这个错误。我没有改变代码中的任何内容。

错误(-32300):传输错误 - HTTP状态代码不是200

此外,我知道我的脚本有效,因为Google Chrome在GET请求中返回'ok'状态。 php.ini分配了128mb的内存。

以下是用于发布帖子的代码

    /**
     * Make Posts using the XMLRPC classes
     */
    function makePosts() {
        $data_set = $this->getMovieLinks();

        $xml_client = new XMLRPClientWordPress();

        foreach ($data_set as $key) {
            echo '<pre>';
            echo 'This is title movie about to be added ========   : ' . $key['title'];    
            echo '</pre>';

            //new_post($title,$summary,$category,$image_url,$internal_links)
        if ($xml_client->new_post($key['title'], $key['summary'], $key['category'], $key['image'], $key['internal_links']) ) {
            $status=1;
        } else {
        $status=0;
        }

            if (isset($status)) {
                echo '     ======    ADDED';  
            } else {
                echo '     ======    ERROR ADDING';  
            }
        }
    } // Function makePosts endes here

4 个答案:

答案 0 :(得分:0)

您可以做一些事情来调试错误。

  1. 查看服务器日志,可能包含问题的真正原因。
  2. 在php.ini中查找“memory_limit”。尝试更高的数字,看看是否是问题。
  3. 尝试一次停用一个插件,可能是一个插件可能导致错误。

答案 1 :(得分:0)

我收到同样的错误,最后我发现原因是我在.htaccess(XML-PRC服务器端)启用了这样的代码;我被封锁了。

order deny,allow
deny from all
allow from 211.111.0.0/16

托管“http://example.com/xmlrpc.php”的服务器在脚本IP源后被阻止。

你应该:

  1. 将XML-RPC客户端脚本IP添加到XML-PRC服务器端;甚至是同一站点的客户端和服务器。
  2. 或者只是从.htaccess
  3. 中删除“拒绝所有人”

答案 2 :(得分:0)

我有同样的错误,但我解决了它:

我键入了http://www.example.com/xmlrpc.php,但好处是http://example.com/xmlrpc.php,因为如果它有“www”前缀,则会重定向到staus cod

答案 3 :(得分:0)

如果以上解决方案均无效:

确保您未在​​托管服务提供商上列入白名单。我们的客户使用wp-engine,在发布媒体项目时我们遇到了这个问题。

在外部网络,不同的IP上发出相同的请求后,我们得到了200(OK)状态代码。