我正在尝试使用一个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示例。
最合适的回答,由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(&;。。。