T
Torronf
Curioso
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola Programo hace un tiempo en PHP para la captura de IPTV con un buen margen de exito pero en ocaciones me he topado con el 403 Forbidden porque el server no crea la confianza que te permite dar play a un video. He tratado varias vias, aqui le pongo un ejemplo sencillo para ver si entre la experiencia de todos vemos la vuelta al tema.
Para este ejemplo usare esta direccion la cual en un Browser Normal emite una señal sin problema pero a la hora de llevar esta señal a un player local sale el 403.
Enlace eliminado
<?php
$server2 = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}";
$url='https://ul.cdn946.net:8443/hls/le870ahdxekxml.m3u8?s=ZTFdRwPOHSAh4RnQl7BJkQ&e=1594403725';
$opts = array('
http' =>
array(
'header' =>
'Connection: keep-alive',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36',
'Accept: */*',
'Origin: Enlace eliminado',
'Sec-Fetch-Site: cross-site',
'Sec-Fetch-Mode: cors',
'Sec-Fetch-Dest: empty',
'Referer: Enlace eliminado',
'Accept-Language: es-419,es;q=0.9,en;q=0.8,id;q=0.7',
'If-None-Match: "5f08584a-3a9"',
'If-Modified-Since: Fri, 10 Jul 2020 12:00:10 GMT'
),
'ssl' =>
array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
$context = stream_context_create($opts);
$html = fopen($url,"rb", false, $context); //get the html returned from the following url
if (FALSE === $html) {
exit("Failed to open stream to URL");
}
$contents = '';
while (!feof($html)) {
$contents .= fread($html, 8192);
}
$part = explode(chr(10), $contents);
for ($i = 0; $i < count($part) - 1; $i++) {
if (strpos($part[$i], '#') !== false) {
echo $part[$i] . chr(10);
} else {
echo $server2."?ts=Enlace eliminado".($part[$i]).PHP_EOL;
}
}
fclose($html);
?>
Para este ejemplo usare esta direccion la cual en un Browser Normal emite una señal sin problema pero a la hora de llevar esta señal a un player local sale el 403.
Enlace eliminado
<?php
$server2 = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}";
$url='https://ul.cdn946.net:8443/hls/le870ahdxekxml.m3u8?s=ZTFdRwPOHSAh4RnQl7BJkQ&e=1594403725';
$opts = array('
http' =>
array(
'header' =>
'Connection: keep-alive',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36',
'Accept: */*',
'Origin: Enlace eliminado',
'Sec-Fetch-Site: cross-site',
'Sec-Fetch-Mode: cors',
'Sec-Fetch-Dest: empty',
'Referer: Enlace eliminado',
'Accept-Language: es-419,es;q=0.9,en;q=0.8,id;q=0.7',
'If-None-Match: "5f08584a-3a9"',
'If-Modified-Since: Fri, 10 Jul 2020 12:00:10 GMT'
),
'ssl' =>
array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
$context = stream_context_create($opts);
$html = fopen($url,"rb", false, $context); //get the html returned from the following url
if (FALSE === $html) {
exit("Failed to open stream to URL");
}
$contents = '';
while (!feof($html)) {
$contents .= fread($html, 8192);
}
$part = explode(chr(10), $contents);
for ($i = 0; $i < count($part) - 1; $i++) {
if (strpos($part[$i], '#') !== false) {
echo $part[$i] . chr(10);
} else {
echo $server2."?ts=Enlace eliminado".($part[$i]).PHP_EOL;
}
}
fclose($html);
?>