用cURL检查m3u8播放列表是否可用。

问题描述 投票:0回答:1

我有一个cURL脚本,我一直在用它来检查服务器上是否有m3u8文件存在,如果有则播放mp4文件,如果没有则让你看到离线的图片。

但是从昨天开始,这个脚本就不工作了。我用curl检查m3u8文件是否存在,然后用http代码200检查。有沒有其他方法可以檢查m3u8檔案是否存在於伺服器上?

<?php


function url_test( $url ) {
  $timeout = 10;
  $ch = curl_init();
  curl_setopt ( $ch, CURLOPT_URL, $url );
  curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
  curl_setopt ( $ch, CURLOPT_TIMEOUT, $timeout );
  $http_respond = curl_exec($ch);
  $http_respond = trim( strip_tags( $http_respond ) );
  $http_code = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
  if ( ( $http_code == "200" ) || ( $http_code == "302" ) ) {
    return true;
  } else {
    // return $http_code;, possible too
    return false;
  }
  curl_close( $ch );
}

$website = "***.m3u8";
if( !url_test( $website ) ) {
  echo $website ." is down!";
}
else { echo $website ." functions correctly."; }
?>

CURL说文件不在服务器上,但我可以用我的笔记本在同一个链接上下载。

谁能帮忙?

谢谢。

Marv

php html curl m3u8
1个回答
0
投票

打开浏览器,按F12键,然后在刚才按F12键打开的框中选择 "网络 "标签。然后在浏览器地址栏粘贴m3u8网址,按回车键。该请求必须显示在 "网络 "部分的请求列表中。点击请求,看看你从服务器上收到的HTTP状态码,它可能是200或302之外的另一个状态码(你的脚本中涵盖的情况)。

我还想补充一下。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
© www.soinside.com 2019 - 2024. All rights reserved.