繁体   English   中英

变量在 cURL CURLOPT_URL (PHP) 中不起作用

[英]Variable not working in cURL CURLOPT_URL (PHP)

我正在尝试在 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'];
}
?>

解决了它 - 原来在存储的 $data URL 的末尾有一些额外的空白,我使用 trim() 清理了这些空白。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM