使用HTTP API发布XML请求

时间:2011-07-19 作者:tollmanz

我正在尝试使用一个API,该API希望在文章的正文中包含XML字符串。此外,API的文档还规定:

请使用mime类型的文本/xml发布,并在文章正文中使用xml

我想使用WordPress HTTP API来实现这一点,但我遇到了一些问题。到目前为止,我有如下代码,似乎失败了。

$url = \'https://www.testurl.com\';
$xml = <<<TESTED XML HERE>>>;
$response = wp_remote_post( 
    $url, 
    array(
        \'method\' => \'POST\',
        \'timeout\' => 45,
        \'redirection\' => 5,
        \'httpversion\' => \'1.0\',
        \'headers\' => array(
            \'mime-type\' => \'text/xml\'
        ),
        \'body\' => array(\'xml\' => $xml),
        \'sslverify\' => false
    )
);
我的问题是,我是否正确设置了mime类型,是否在正确的位置发送了XML?

很难找到利用XML请求的WordPress HTTP API示例。

1 个回复
最合适的回答,由SO网友:tollmanz 整理而成

我想出来了。WordPress HTTP API正在完成它的工作;我的问题是我使用的API。我只是修改了代码,如下所示:

$url = \'https://www.testurl.com\';
$xml = <<<TESTED XML HERE>>>;
$response = wp_remote_post( 
    $url, 
    array(
        \'method\' => \'POST\',
        \'timeout\' => 45,
        \'redirection\' => 5,
        \'httpversion\' => \'1.0\',
        \'headers\' => array(
            \'Content-Type\' => \'text/xml\'
        ),
        \'body\' => array(\'postdata\' => $xml, \'postfield\' => \'value\'),
        \'sslverify\' => false
    )
);
再次。。。这只是对我使用的API的误解,而不是WordPress提供的HTTP API。

编辑:根据http://codex.wordpress.org/Function_API/wp_remote_post数组将转换为如下字符串:key1=val1&;键2=值2(&;。。。

结束

相关推荐

How deactivate the http-api

为它提供一个tipp或解决方案来停用WP\\U Http\\U Streams类中的方法request()?我也在脱机服务器上使用WordPress,并让wp\\U debug true用于开发和测试。但是我从函数中得到了很多关于使用http类的警告;例如,在仪表板中读取提要的函数。目前我已经停用了更新主题、插件、核心和cron的所有挂钩;请参阅我的小插件:https://github.com/bueltge/WP-Offline谢谢你的回复