Closed feserdel closed 7 months ago
Da error 403 al intentar cargar el fichero de manifiesto, supongo que ahora habrá que pasarle algún encabezado o algo para que cargue. Para eso tendría que ver lo que hace el navegador web cuando reproduce el canal. Pero ahora mismo no estoy abonado a Movistar, así que necesitaría que alguien me pasara su usuario y clave para poder mirarlo (email: mitvbox.spain arroba gmail.com).
O que alguien mire por mi los encabezados usando los devtools del navegador.
Da error 403 al intentar cargar el fichero de manifiesto, supongo que ahora habrá que pasarle algún encabezado o algo para que cargue. Para eso tendría que ver lo que hace el navegador web cuando reproduce el canal. Pero ahora mismo no estoy abonado a Movistar, así que necesitaría que alguien me pasara su usuario y clave para poder mirarlo (email: mitvbox.spain arroba gmail.com).
O que alguien mire por mi los encabezados usando los devtools del navegador.
¿Qué cabeceras necesitas exactamente?
En el chrome, abre la página de movistar. En el menú del chrome :: más herramientas :: herramientas para desarrolladores. En la ventana que se abre ve a la pestaña network. En filter pon "mpd". Reproduce eurosport 1 (o algún canal de los que no se ven). En la herramienta de desarrolladores deberá aparecer el mpd. Pulsa con el botón derecho sobre él (en la pestaña donde pone name) y selecciona copy :: copy as curl. Pega el resultado aquí.
Uso Firefox, pero vamos, quitando el User-Agent el resto será igual.
Voy a ver que otros canales no me reproducen en Kodi
curl 'https://eurosport1-dash-movistarplus.emisiondof6.com/manifest.mpd' -X OPTIONS -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0' -H 'Accept: */*' -H 'Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3' -H 'Accept-Encoding: gzip, deflate, br' -H 'Access-Control-Request-Method: GET' -H 'Access-Control-Request-Headers: x-tcdn-token' -H 'Referer: https://ver.movistarplus.es/' -H 'Origin: https://ver.movistarplus.es' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: cross-site' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache'
Aquí te dejo un archivo con más canales que fallan, pero no están todos. Más tarde te paso los que falten. movistar_curl.txt
Aún con esos encabezados las url siguen dado el error 403 forbidden. He visto que los datos del curl que has puesto usan el método options, ¿puedes mirar si hay encabezados diferentes cuando cargan con el método get?
Aún con esos encabezados las url siguen dado el error 403 forbidden. He visto que los datos del curl que has puesto usan el método options, ¿puedes mirar si hay encabezados diferentes cuando cargan con el método get?
desde hace unos días varios canales necesitan un valor x-tcdn-token para que funcionen, te paso información por si puede ayudar, sería especialmente interesante poder extraer a un fichero ese valor, ya que cambia cada 24h
METHOD: GET URL https://1mcine-dash-movistarplus.emisiondof6.com/manifest.mpd HEADERS Accept: / Accept-Encoding: gzip, deflate, br Accept-Language: es,es-ES;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 Connection: keep-alive Host: 1mcine-dash-movistarplus.emisiondof6.com Origin: https://ver.movistarplus.es Referer: https://ver.movistarplus.es/ sec-ch-ua: "Microsoft Edge";v="119", "Chromium";v="119", "Not?A_Brand";v="24" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: cross-site User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0 x-tcdn-token:..........................
STATUS: 302 Found HEADERS Access-Control-Allow-Headers: ,X-TCDN-token,X-TCDN Access-Control-Allow-Origin: Access-Control-Expose-Headers: X-TCDN Connection: Close Content-Length: 0 Date: Mon, 20 Nov 2023 14:09:18 GMT Location: https://b46077-p199-h89-tef548c.1.cdn.telefonica.com/_46077/manifest.mpd
hay que usar este encabezado, x-tcdn-token: con el valor que da
hay que añadir esto para que funcione, #KODIPROP:inputstream.adaptive.stream_headers=x-tcdn-token=
la cosa esta en obtener ese valor
En Orange han puesto hace poco algo parecido y el dato necesario va en los encabezados de respuesta al pedir el listado de canales. Pero en Movistar no lo he visto ahí, debe estar en otro sitio.
He investigado un poco y lo obtiene a través de JavaScript. Hay una función llamada yomvi.usuario.prefs('tokenCDN')
que devuelve el token x-tcdn-token. Además, hay otra llamada yomvi.usuario.refreshCDNToken()
que genera un token nuevo. Finalmente, hay un parámetro yomvi.usuario.refreshCDNTokenInterval
, que es 1251, que probablemente sea el tiempo en el que dicho token expire (deduzco por el nombre del parámetro, no lo sé).
La llamada a la primera función la realiza el archivo https://ver.movistarplus.es/js/yomvi/player/multidrm.js, con el código (líneas 239-242):
if (yomvi.player.multidrm.cdnSecurize()){
request.headers['x-tcdn-token']= yomvi.usuario.prefs('tokenCDN');
// request.headers['Authorization']='Bearer '+yomvi.usuario.prefs('tokenCDN');
}
No he mirado aún qué realiza exactamente dicha función (es decir, de dónde saca o genera dicho token), pero es un primer paso. Lo que sí puedo confirmar es que los tokens generados funcionan.
Puede interesar también a #19.
Gracias por la información. Mirando el código he visto que existe una url para renovar el token. Con esto creo que podré solucionar el problema.
@LumitoLuma Hola, ¿puedes ayudarme a obtener el tcdn? ¿Debo instalar el software javascript? gracias de antemano
Creo que ya está solucionado el problema en la versión 0.7.15 ¿no?
Creo que ya está solucionado el problema en la versión 0.7.15 ¿no?
Correcto!!!! Funciona!!!, muchas gracias.
¿podrías hacer un script que haga login en movistar y exporte el valor de x-tcdn-token a un fichero?
Creo que ya está solucionado el problema en la versión 0.7.15 ¿no?
Correcto!!!! Funciona!!!, muchas gracias.
¿podrías hacer un script que haga login en movistar y exporte el valor de x-tcdn-token a un fichero?
Me uno a la petición...
Muchas gracias!!
¿podrías hacer un script que haga login en movistar y exporte el valor de x-tcdn-token a un fichero?
Sí, esto es lo que quise decir, gracias de antemano.
¿Para qué queréis el script?
¿Para qué queréis el script?
Como ya habías hecho este, https://github.com/Paco8/MSAuthenticationKey, por eso en mi caso pedía el del x-tcdn-token, por no estar todos los días con el http toolkit.
Muchas gracias
Modificar ese programa para que saque también el x-tcdn-token sería un lío, además de que ese token cambia todos los días a diferencia de la cookie.
Modificar ese programa para que saque también el x-tcdn-token sería un lío, además de que ese token cambia todos los días a diferencia de la cookie.
Por eso lo de automatizarlo de alguna manera, un script que haga login y luego obtenga ese dato que exporta a un fichero. Pensaba que lo tendrías medio hecho al hacer el addon, que funciona de lujo, gracias por tu trabajo desinteresado.
Me uno a la petición.....casi lo tengo, pero me faltan datos....por favor, ayuda....Gracias.
Por mi parte, confirmo que en la 0.7.15 funcionan todos los canales correctamente. Gracias!
Hola, hoy he visto que hay canales que se ven perfectamente pero otros no.
Por ejemplo, Eurosport 1 NO se ve, pero Eurosport 2 SI se ve.
Copio parte de los LOG:
Eurosport 1
Eurosport2:
He probado en varios dispositivos (Windows, Android) y pasa lo mismo en todos. En cambio en la APP o decodificador de Movistar se ven bien.
Hay un porcentaje quizás del 50% de canales que fallan. Son siempre los mismos. No parece haber distinción entre canales abiertos o de pago.