簡體   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