来自 wordpress 的 REST API 调用中的服务不可用
Posted
技术标签:
【中文标题】来自 wordpress 的 REST API 调用中的服务不可用【英文标题】:Service unavailable in REST API call from wordpress 【发布时间】:2021-11-17 14:17:38 【问题描述】:从 wordpress + woocommerce 的基本安装中,我创建了一个自定义插件,它使用不记名令牌在 GET 协议中调用 API。我从邮递员那里复制了 php curl 代码,在本地和邮递员上我都可以毫无问题地连接到其余服务。但是如果我使用 wordpress 中的相同代码,我会得到“503 Service Unavailable”。不是专家我不知道问题是由于 apache2 / .htacces 文件的错误配置,还是 wordpress 添加了标题或其他导致调用在 503 中失败的事情
我在这里报告调用 curl
protected function getGetData($url,$token)
$curl = curl_init();
$auth= 'Authorization: Bearer '.$token;
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
$auth
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
我已经尝试关闭所有 wordpress 插件,但没有任何结果。特别是通过更改某些设置,有时调用第一次返回 200,但从第二次开始,它继续返回 503。从邮递员和本地 php 改为每次执行函数时都会工作
【问题讨论】:
【参考方案1】:我做了一些检查,在这些情况下,我注意到建议首先禁用 wordpress 端的每个插件,然后检查提供 API 的人是否没有控制。就我而言,我发现服务器的调用限制超出了我的限制,并且它返回了 503。
【讨论】:
以上是关于来自 wordpress 的 REST API 调用中的服务不可用的主要内容,如果未能解决你的问题,请参考以下文章
WordPress REST API v2 返回所有图像,而不仅仅是来自选定的帖子
Angular JSONP 调用 WordPress JSON REST API