【问题标题】:Having an issue with cURL (PHP)cURL (PHP) 有问题
【发布时间】:2020-03-03 14:43:34
【问题描述】:

所以我有一个带有 API 的许可系统,尽管我几乎不了解 cURL。有人可以解释一下我做错了什么吗?

大部分代码是从我正在使用的 API 的文档中提取的。

这是我的 PHP 登录页面中的代码。

function checkLicense() {
    $curl = curl_init();
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt_array($curl, array(
    CURLOPT_URL => "https://www.scriptic.xyz/wp-json/lmfwc/v2/licenses/", $licensekey ,"?consumer_key=", $consumer_key ,"&consumer_secret=", $consumer_secret ,
    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);

    curl_close($curl);

    if ($err) {
        return "cURL Error #: " . $err;
    } else {
        return $response;
    }
}

错误:

cURL Error #: Could not resolve proxy: ?consumer_key=

编辑:当我在“$licensekey”位置使用数据库中的许可证密钥访问链接并填写其他两个变量时,它会返回我想要的 json。

获取 json 的 URL: https://www.scriptic.xyz/wp-json/lmfwc/v2/licenses/license-key-example?consumer_key=key-example&consumer_secret=secret-example

这是它返回的 json

{"success":true,"data":{"id":"5","orderId":null,"productId":null,"licenseKey":"hidden-for-privacy","expiresAt":null,"validFor":"0","source":"2","status":"3","timesActivated":null,"timesActivatedMax":"0","createdAt":"2019-11-07 01:43:16","createdBy":"1","updatedAt":null,"updatedBy":null}}

编辑 2:

我已将, 更改为.

$consumer_key = "hidden-for-privacy";
$consumer_secret = "hidden-for-privacy";
$licensekey = $_SESSION['key'];

function checkLicense() {
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://www.scriptic.xyz/wp-json/lmfwc/v2/licenses/". $licensekey ."?consumer_key=". $consumer_key ."&consumer_secret=". $consumer_secret,
        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);

    curl_close($curl);

    if ($err) {
        return "cURL Error #:" . $err;
    } else {
        return $response;
    }
}

新错误:

{"code":"lmfwc_rest_authentication_error","message":"Consumer key or secret is missing.","data":{"status":401}}

【问题讨论】:

  • 变量$licensekey、$consumer_key、$consumer_secret在哪里设置?
  • 什么是$ch?这些真的应该是, 还是.?
  • 我在它上面设置了变量` $consumer_key = "hidden-for-privacy"; $consumer_secret = "隐藏隐私"; $licensekey = $_SESSION['key']; `
  • 现在您已经填写了变量,您似乎得到了有效的响应。有什么问题?
  • $ch 应该是$curl。

标签: php curl https


【解决方案1】:

好的,问题已解决,感谢所有提供帮助的人。我在函数中移动了变量,现在它返回了我想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-21
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 2013-08-06
    • 2011-02-14
    相关资源
    最近更新 更多