【问题标题】:I am getting an Error (-32300): transport error - HTTP status code was not 200我收到错误 (-32300):传输错误 - HTTP 状态代码不是 200
【发布时间】:2013-01-13 18:24:21
【问题描述】:

当我尝试在 wordpress 中使用 xmlrpc 上传数据时出现错误。以前的代码可以正常工作,但突然间开始出现此错误。我没有更改代码中的任何内容。

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

另外,我知道我的脚本可以正常工作,因为 google chrome 在 GET 请求中返回“正常”状态。 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

【问题讨论】:

    标签: php wordpress xml-rpc


    【解决方案1】:

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

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

    【讨论】:

    • 我确实停用了所有插件,但仍然遇到同样的错误。我正在使用共享主机,所以日志没有那么有用。我应该将内存限制增加多少。到目前为止,有内存限制问题的人将他们的内存设置为 10mb,这是默认的,我将其设置为 128mb
    【解决方案2】:

    我收到同样的错误,最后我发现原因是我在.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】:

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

      我输入了http://www.example.com/xmlrpc.php,但最好的是http://example.com/xmlrpc.php,因为如果它有“www”前缀,它会以状态鳕鱼重定向

      【讨论】:

      • 所有 HTTP 响应都有一个状态码。您是指特定的状态码吗?
      • 是的,它使用 303 重定向。:)
      【解决方案4】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2021-10-21
        • 1970-01-01
        • 2020-02-25
        • 1970-01-01
        • 1970-01-01
        • 2015-05-12
        • 2013-01-09
        • 2013-11-20
        • 2011-07-29
        相关资源
        最近更新 更多