cURL 授权错误 - 许可证管理器 WooCommerce
cURL Authorization Error - License Manager WooCommerce
我正在使用 License Manager for WooCommerce。
按照文档,我的代码如下所示:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.my-url.com/subdir/wp-json/lmfwc/v2/licenses/validate/".$this->license."?consumer_key=".$this->consumerKey."&consumer_secret=".$this->consumerSecret,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
$result = json_decode($response, true);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $result;
} ?>
通过网络浏览器调用 URL,结果 returns 一个有效的 json 数组。
通过 php 文件调用代码会导致 $response 出现授权错误。
Forbidden You don't have permission to access this resource.
用户存在,拥有管理员权限,甚至创建新的密钥和密码也无济于事。
如何进一步调试和修复此问题?
解决方案是添加用户代理:
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT']
//validate license key
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.my-url.com/wp-json/lmfwc/v2/licenses/validate/".$this->lcns."?consumer_key=".$this->lmfwcConsumerKey."&consumer_secret=".$this->lmfwcConsumerSecret,
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
$result = json_decode($response, true);
curl_close($curl);
我正在使用 License Manager for WooCommerce。 按照文档,我的代码如下所示:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.my-url.com/subdir/wp-json/lmfwc/v2/licenses/validate/".$this->license."?consumer_key=".$this->consumerKey."&consumer_secret=".$this->consumerSecret,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
$result = json_decode($response, true);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $result;
} ?>
通过网络浏览器调用 URL,结果 returns 一个有效的 json 数组。 通过 php 文件调用代码会导致 $response 出现授权错误。
Forbidden You don't have permission to access this resource.
用户存在,拥有管理员权限,甚至创建新的密钥和密码也无济于事。
如何进一步调试和修复此问题?
解决方案是添加用户代理:
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT']
//validate license key
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.my-url.com/wp-json/lmfwc/v2/licenses/validate/".$this->lcns."?consumer_key=".$this->lmfwcConsumerKey."&consumer_secret=".$this->lmfwcConsumerSecret,
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
$result = json_decode($response, true);
curl_close($curl);