我正试图通过WordPress自己的方法,即wp\\u remote\\u POST()发出一些API POST请求
下面是我使用的示例代码:
$args = array (
\'sslverify\' => false,
\'headers\' => [
\'Authorization: Bearer {API_KEY}\',
\'Content-Type: application/json\'
],
\'body\' => array (
\'region\' => \'USA\',
\'plan\' => 1,
\'label\' => \'API Test\',
\'app_id\' => 2
)
);
$response = wp_remote_post( "https://api.example.com/plans/create", $args );
$response = wp_remote_retrieve_body($response);
error_log($response);
但它返回了一个403禁止的错误,下面是详细信息:
<HTML>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
但是,当我尝试使用cURL PHP库使用相同的参数和设置发出POST请求时,API请求成功了,返回了200个带有格式化JSON数据的响应。
我已经联系了API提供商公司,他们说从他们这方面来说一切都很好,他们也无能为力。
还有一件事,我已经在实时网站服务器和本地主机环境上测试了相同的调用。但这两种情况都是一样的。
有人知道为什么wp\\u remote\\u post()会在这个特定的API提供程序上导致这些错误吗(是的,我已经用另一个API提供程序测试了wp\\u remote\\u post方法,它似乎工作得很好)?
非常感谢<杜里亚布·阿齐兹。