php - 来自 wordpress 的 REST API 调用中的服务不可用
问题描述
从 wordpress + woocommerce 的基本安装中,我创建了一个自定义插件,它使用不记名令牌在 GET 协议中调用 API。我从邮递员那里复制了 php curl 代码,在本地和邮递员上我都可以毫无问题地连接到其余服务。但是如果我使用 wordpress 中的相同代码,我会得到“503 Service Unavailable”。不是专家,我不知道问题是由于 apache2 / .htacces 文件的配置不正确,还是 wordpress 添加了标题或其他导致调用在 503 中失败的事情
我在这里报告呼叫卷曲
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 改为每次执行函数时都会工作
解决方案
我做了一些检查,在这些情况下,我注意到建议首先禁用 wordpress 端的每个插件,然后检查提供 API 的人是否没有控制。在我的情况下,我发现服务器的调用限制超出了我的限制,并且它返回了 503。
推荐阅读
- scipy - 如何在偏态分布中指定最小值和最大值?
- c# - 编译器如何将返回值转换为返回任务
在异步方法中? - javascript - 正则表达式匹配密码要求
- angular - 如何将 Font Awesome 图标添加到我的 Angular 应用程序
- elixir - 如何在 Elixir 中删除列表周围的引号
- spring-boot - Spring Boot Soap 服务性能问题
- javascript - 电子和 CDN 链接
- json - Maximo/GIS 空间查询
- vhdl - Vivado 中的 VHDL 错误指出“目标有 17 位,源有 33 位”
- javascript - .toArray 不工作