我正在尝试在 cURL GET 请求中使用变量作为 URL,但它不起作用。
$data 是通过 ajax 从另一个页面发送的。如果我在声明 $data 后在声明 $curl 之前回显它,我想使用的 URL 会出现 ( https://api.calendly.com/event_types/d5d0d786-54b8-4e85-83ce-5b5d853957fa
)。
但是在 cURL 请求中使用 $data 是行不通的。如果我将 $data 变量替换为 URL 作为字符串 - "https://api.calendly.com/event_types/d5d0d786-54b8-4e85-83ce-5b5d853957fa"
,它可以正常工作并从响应中返回我想要的值('scheduling_url'),所以我看不出为什么包含相同内容的 $data 变量会不行。
变量是否以某种方式未正确传递到 cURL 请求中?非常感谢任何建议。谢谢。
<?php
$data = isset($_REQUEST['myData'])?$_REQUEST['myData']:"";
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $data,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer MY_TOKEN",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$response_json = json_decode($response, true);
echo $response_json['resource']['scheduling_url'];
}
?>