簡體   English   中英

卷曲返回選項

[英]Option of Curl return

我正在嘗試從這里獲取 URL 流 (.m3u8): https ://chch.cdn.clearcable.net/

我嘗試使用 cURL:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://chch.cdn.clearcable.net/');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$res = curl_exec($ch);    
echo $res;

但是,代碼中不存在 URL 流。 我需要一些額外的功能嗎?

先感謝您。

您需要告訴 curl 返回數據而不是輸出數據。 如果您使用此設置:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$res應該包含您期望的數據。 我可以確認這對我有用。 如果它不適合您,請在調用curl_exec后嘗試此curl_exec

if($res === false) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo $res;
}

在網絡上運行時,如您所提到的,您需要查看源代碼以查看瀏覽器解析的任何代碼。 或者您可以使用print_rvar_dump類的方法在頁面上查看它。

您將需要使用print_r()函數檢查它是否返回任何值

試試下面的代碼

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://chch.cdn.clearcable.net/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$res = curl_exec($ch);
 $post = json_decode($res ,true);

print_r($post);
curl_close($ch);

您可以簡單地使用file_get_contents()將整個文件流式傳輸到一個字符串中。 但是單獨使用它會產生一個錯誤: SSL operation failed with code 1..

此鏈接描述了原因。

試試這個代碼:

// Create a stream
$opts = [
    "ssl" => [
    "verify_peer" => false,
    "verify_peer_name" => false
  ]
];

$context = stream_context_create($opts);

$res = file_get_contents("https://chch.cdn.clearcable.net/", false, $context);

echo $res; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM