网站升级https后 发现使用http的hls直播源均无法正常播放了

网站引用了多个http hls直播源 如何才能让恢复使用呢 ?这里采用的是服务端转发 代码如下

<?php
error_reporting(0);
header("ACCESS-CONTROL-ALLOW-ORIGIN:*");function get_url_contents($url)
{if (function_exists('curl_init')) {$ch = curl_init();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_URL, $url);$result = curl_exec($ch);curl_close($ch);return $result;} else {if (ini_get("allow_url_fopen") == "1") {return file_get_contents($url);}}
}function resolve_hls($url)
{$url = trim(urldecode($url));$old = pathinfo($url);$m3u8 = get_url_contents($url);if (!empty($old['dirname'])) {if (strpos($m3u8,'EXT-X-STREAM-INF')!== false) {try {preg_match_all('/([\S]+)(\.m3u8)+(.*)?/i', $m3u8, $match);$new = $match[0][0];if (stripos($new, 'http:') !== false || stripos($new, 'https:') !== false || substr($new, 0, 2) == '//') {$newUrl = $new;} else {$newUrl = $old['dirname'] . '/' . $new;}resolve_hls($newUrl);}catch (\Exception $exception) {echo $exception->getMessage();}} else {try {preg_match_all('/([\S]+)(\.ts)+(.*)?/i', $m3u8, $match_ts);if(empty($match_ts[0][0])){preg_match_all('/([\S]+)(\.aac)+(.*)?/i', $m3u8, $match_ts);}$new = $match_ts[0][0];if (stripos($new, 'http:') !== false || stripos($new, 'https:') !== false || substr($new, 0, 2) == '//') {echo $m3u8;} else {$newUrl = $old['dirname'] . '/';echo preg_replace_callback('/([\S]+)(\.ts)+(.*)?/i', function ($mtches) use ($newUrl){return 'https://qianxun.damicms.com/transhls.php?action=' . urlencode($newUrl . $mtches[0]);}, $m3u8);}} catch (\Exception $exception) {echo $exception->getMessage();}}}
}
if (!empty($_GET['url'])) {$url = urldecode($_GET['url']);resolve_hls($url);
} else if(!empty($_GET['action'])){$url2 = trim(urldecode($_GET['action']));if(stripos($url2, 'https:') !== false){header("Location:{$url2}");}else{$m3u8 = get_url_contents($url2);echo $m3u8;}
}?>

PHP网站升级https后如何引用http直播源hls?相关推荐

  1. 网站升级Https后之前在http下的WebSocket出现链接失败的问题

    网站升级Https后之前在http下的WebSocket出现链接失败的问题 一.前端代码 var socket = new WebSocket('ws://192.168.2.110') 注意点: 1 ...

  2. 网站升级HTTPS后WebSocket不能连接的问题

    前端部分 如果网站使用HTTPS,WebSocket必须要使用wss协议: 使用wss协议的连接请求必须只能写域名,而非IP+端口: 建议在URL域名后面为websocket定义一个路径,本例中是/w ...

  3. python正则表达式--分组、后向引用、前(后)向断言

    无名.有名分组 (1)正则表达式-无名分组 从正则表 达式的左边开始看,看到的第一个左括号"("表示表示第一个分组,第二个表示第二个分组, 依次类推. 需要注意的是,有一个隐含的全 ...

  4. 网站开启https后很慢_网站HTTPS后初次加载奇慢,打开后站内浏览速度又正常

    网站HTTPS后打开奇慢,首页加载后后站内加载速度又正常. 开HTTPS后,首页初次打开特别慢,换了设备情况也是一样. 把HTTPS关了后,首页打开恢复正常, 难道是免费的HTTPS的锅? 如果是这样 ...

  5. vue3 项目修改打包后的引用路径,调整图片压缩成base64的门槛

    vue3 项目修改打包后的引用路径,调整图片压缩成base64的门槛 前言 解决 完事 前言 最近的项目中需要在程序中显示一个H5页面,所以按照官方VUE CLI的教程创建了一个项目开始整.整到最后打 ...

  6. nginx+tomcat,http强制跳转https后的error_page配置!【原创】

    最近在生产环境搭建时发现http强制301跳转到https后error_page的设置怎么都不生效,后来检查出了原因,根据网上的搜索资料在加上自己的逻辑分析,最终实现了这个功能.如有更简单的方法请高手 ...

  7. nginx 代理https后,应用redirect https变成http --转

    原文地址:http://blog.sina.com.cn/s/blog_56d8ea900101hlhv.html 情况说明 nginx配置https,tomcat正常http接受nginx转发. n ...

  8. php正则引用不能计算,php正则表达式 后向引用~

    php正则表达式 后向引用- 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理.默认情况下,每个分组会自动拥有一个组号,规则是:从左 ...

  9. php 正则表达式 后向引用,php正则表达式 后向引用~ | 学步园

    php正则表达式 后向引用- 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理.默认情况下,每个分组会自动拥有一个组号,规则是:从左 ...

最新文章

  1. SAP RETAIL 如何确定自动补货触发的单据类型 III
  2. Json字符串解析原理、超大json对象的解析
  3. UA MATH574M 统计学习V Variable Selection简介
  4. Java多线程:线程间通信之Lock
  5. 阿里云2011.9.17招聘会笔试题
  6. 一步一步学Silverlight 2系列(6):键盘事件处理
  7. python集合运算_Python 集合set()添加删除、交集、并集、集合操作详解
  8. Java 接口基础详解,java开发面试笔试题
  9. 通过 Android SDK Manager 安装面向 Android* 模拟器插件的英特尔® 凌动™ x86 系统映像...
  10. day4(继承、修饰符、方法的重写、super关键词、继承中的构造方法、object类、对象转型)...
  11. Gamesalad借QQ游戏无线平台进军中国
  12. 语音处理基础:预加重、分帧、帧移、加窗、傅里叶变换
  13. 什么是炎症(inflammation)?抗生素?//2021-2-12
  14. Uni-App实现人脸识别功能
  15. 培训linux系统下载,非常好的Linux培训教程集合下载
  16. 手机软件测试规范(含具体用例)
  17. java获取微信token_Java微信公众平台开发(六)--微信开发中的token获取
  18. bt torrent文件
  19. C# 让程序开机自动运行的方法
  20. 信号完整性系统学习(一)前言

热门文章

  1. ISO14443 Type A类型卡的防碰撞过程以及命令解析
  2. 【midomi】Android下最强音乐搜索工具
  3. O2OA接入企业钉钉 - 在钉钉上使用移动办公(新版)
  4. Simulink 学习(一)
  5. Java中保留两位小数,和kotlin保留两位小数
  6. 【模电实验】基尔霍夫定律、叠加定理和戴维南定理验证实验
  7. 计算机科学导论 -- 第一章 绪论
  8. 模拟/数字混合信号的电路板布局布线注意事项
  9. linux tail
  10. 微信小程序如何使用阿里巴巴字体图标iconfont?