No Film is playing: ERROR: Could not get secure URL for film xxxxxx
fabsmusicjunkie opened this issue · 6 comments
I'm getting the above error on my kodi.
The whole debug error:
ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <type 'exceptions.KeyError'> Error Contents: 'url' Traceback (most recent call last): File "/home/kodi/.kodi/addons/plugin.video.mubi/addon.py", line 46, in <module> plugin.run() File "/home/kodi/.kodi/addons/script.module.kodiswift/lib/kodiswift/plugin.py", line 307, in run items = self._dispatch(self.request.path) File "/home/kodi/.kodi/addons/script.module.kodiswift/lib/kodiswift/plugin.py", line 326, in _dispatch resp = view_func(**items) File "/home/kodi/.kodi/addons/plugin.video.mubi/addon.py", line 30, in play_film mubi_resolved_info = mubi.get_play_url(identifier) File "/home/kodi/.kodi/addons/plugin.video.mubi/resources/lib/mubi.py", line 154, in get_play_url url = json.loads(r.text)["url"] KeyError: 'url' -->End of Python script error report<--
System: Raspberry Pi 3b, OS: Raspbian
I have the same error here with Raspberry pi 3b, LibreElec 8.2.5 and Kodi 17.6
It seems part of the api has changed. the viewing url is not working anymore. Sadly I don-t have any way to rev eng the new url right now to try and help
is there any way i could provide you with some info?
Today I ran Android-x86 in qemu and installed the mubi app on it. I redirected the traffic to mitmproxy (https://mitmproxy.org/) and could intercept normal http and https traffic that way.
However the mubi app didn't accept the certificate offered by mitmproxy, so I guess it provides its own cert. I'll try it again after installing the mitmproxy certificate as a system cert, but I'm not very confident that this will help.
I tried with a system cert, which didn't work either, so I assume the mubi app uses SSL pinning. While it's still possible to circumvent that, this means a lot of work for every API change.
I guess the most pragmatic way would be to go back to parsing the webpage. The Android API was introduced with commit d02ba8d