VideoHelp Forum




+ Reply to Thread
Results 1 to 13 of 13
  1. Hello
    but it has but due to custom headers I have not been successful.
    Last edited by aletaladro; 4th Oct 2024 at 11:28.
    Quote Quote  
  2. need Ecuador IP and ID to register so can't help you.
    Quote Quote  
  3. just need license url and pssh is enough for you get keys if you dont want to totally automate the process:

    headers = {} yes, headers no need, so it is empty

    input pssh: AAAAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    input license url: https://kypus.fe.cloud.vo.services/drmgateway/v1/drm/widevine/license?drmLicenseToken=...HwhrujEE6VJ1aw

    Code:
    --key 2403210db5904eedb8e5fc5b1396dc4a:445bcabd46cd8ca170be5913d5fc5afb
    
    --key ae1bc368f7044144a48d2505db6b3d5a:4ae56c771bb31dfb4755897b289b917b


    ps: i used the OP's cookie , so no need register account
    Quote Quote  
  4. Originally Posted by shellcmd View Post
    just need license url and pssh is enough for you get keys if you dont want to totally automate the process:

    headers = {} yes, headers no need, so it is empty

    input pssh: AAAAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    input license url: https://.cloud.vo.services/drmgateway/v1/drm/widevine/license?drmLicenseToken=eyJhbGci...HwhrujEE6VJ1aw

    Code:
    --key 2403210db5904eedb8e5fc5b1396dc4a:445bcabd46cd8ca170be5913d5fc5afb
    
    --key ae1bc368f7044144a48d2505db6b3d5a:4ae56c771bb31dfb4755897b289b917b


    ps: i used the OP's cookie , so no need register account
    I get error what could be wrong?
    code
    PSSH? AAAAOHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABgSEGPh0D mbU0kVkiV0Wpv40flI49yVmwY=
    License URL? https://kypus.fe.cloud.vo.services/drmgateway/v1/drm/widevine/license?drmLicenseToken=...LhoryctGEd9tbA
    Traceback (most recent call last):
    File "c:\Users\usuario\Downloads\DRM\ctnplay.py", line 17, in <module>
    licence.raise_for_status()
    File "C:\Users\usuario\AppData\Local\Programs\Python\Py thon312\Lib\site-packages\requests\models.py", line 1024, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
    requests.exceptions.HTTPError: 403 Client Error: for url: http://.cloud.vo.services/drmgateway/v1/drm/widevine/license?drmLicenseToken=eyJhbGciO...LhoryctGEd9tbA
    PS C:\Users\usuario\Downloads\DRM>
    Last edited by aletaladro; 14th Jul 2024 at 11:02.
    Quote Quote  
  5. you got a 403 forbidden error, so maybe the token in license url expired fast or one time used(no geo block i tested), so you need copy/paste fast or block license url to get a none used license url.

    and for debug by yourself, you can add this line after:
    licence = requests.post(lic_url, headers=headers, data=challenge)
    print(licence, licence.content)

    so you can see it show you 403 error and details(why you got 403, and then you can try to fix)
    Last edited by shellcmd; 14th Jul 2024 at 00:45.
    Quote Quote  
  6. right click license url in dev tool of browser, select block request url / domain, then refresh playing page, you got a red color error start license url from dev tool of browser, copy and paste this license url to your script.
    Quote Quote  
  7. Originally Posted by shellcmd View Post
    right click license url in dev tool of browser, select block request url / domain, then refresh playing page, you got a red color error start license url from dev tool of browser, copy and paste this license url to your script.
    I did what you said but no luck
    Last edited by aletaladro; 14th Jul 2024 at 11:02.
    Quote Quote  
  8. im sure the token only can be used one time and expire fast, so i give you the code to get license url and mpd url if you can use:

    Code:
    import json
    import requests
    
    headers = {
        'cookie': 'JSESSIONID=vb+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxlong string',
    }
    
    params = {
        'serial_number': '1485067120',
        'include_cas_token': True,
        'channel_external_id': '1013',
        'client': 'json',
        'language_code': 'es',
    }
    
    r = requests.get('https://cntplay.com/RTEFacade/GetLivePlayingInfo', headers=headers, params=params)
    
    drm_token = json.loads(r.content)['response']['casToken']
    
    lic_url = 'https://kypus.fe.cloud.vo.services/drmgateway/v1/drm/widevine/license?drmLicenseToken=' + drm_token
    
    print('\n--lic: ' + lic_url)
    
    mpd_url = json.loads(r.content)['response']['playingUrl']
    
    print('\n--mpd: ' + mpd_url)

    so even you got license url from the code and if you cant paste it quickly, it will expire fast.(it same as the operation as you block license url in browser), so you better learn how to use it automatelly.

    and you dont do what i told you above when you got 403 error. just print(licence, licence.content), it obviously told you invalid token. so you know the issue is caused by token in license url and next step is to block license url and paste fast can solve the problem, just a little experice.
    Last edited by shellcmd; 14th Jul 2024 at 00:38.
    Quote Quote  
  9. Yes , the token expires very quickly ,better use a script to fetch keys

    Image
    [Attachment 80723 - Click to enlarge]
    Quote Quote  
  10. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Use a custom script to fetch keys. For the channels you posted screen shot :
    HTML Code:
    {
      "id": "1013",
      "name": "WUAN+",
      "mpd_url": "https://cdn-vo-latam-01.vos360.video/Content/DASH_DASH/Live/channel(1013)/manifest.mpd",
      "keys": [
      "2403210db5904eedb8e5fc5b1396dc4a:445bcabd46cd8ca170be5913d5fc5afb",
      "ae1bc368f7044144a48d2505db6b3d5a:4ae56c771bb31dfb4755897b289b917b"
      ]
    }
    Quote Quote  
  11. Unfortunately, no matter how much I block the url and do it as quickly as possible, it still shows an error
    Last edited by aletaladro; 14th Jul 2024 at 11:03.
    Quote Quote  
  12. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    You can grab a fresh token like that :
    HTML Code:
    id = '1013'
    params = (('serial_number', '3094315846'),('include_cas_token', 'true'),('channel_external_id', id),('client', 'json'),('language_code', 'es'),)
    data = requests.get('https://cntplay.com/RTEFacade/GetLivePlayingInfo', headers=headers, params=params).json()
    token = data['response']['casToken']
    Then POST request like that :
    HTML Code:
    lic_url = 'https://kypus.fe.cloud.vo.services/drmgateway/v1/drm/widevine/license'
    licence = requests.post(lic_url, data=challenge, params=(('drmLicenseToken', token),))
    Quote Quote  
  13. Originally Posted by aqzs View Post
    You can grab a fresh token like that :
    HTML Code:
    id = '1013'
    params = (('serial_number', '3094315846'),('include_cas_token', 'true'),('channel_external_id', id),('client', 'json'),('language_code', 'es'),)
    data = requests.get('https://cntplay.com/RTEFacade/GetLivePlayingInfo', headers=headers, params=params).json()
    token = data['response']['casToken']
    Then POST request like that :
    HTML Code:
    lic_url = 'https://kypus.fe.cloud.vo.services/drmgateway/v1/drm/widevine/license'
    licence = requests.post(lic_url, data=challenge, params=(('drmLicenseToken', token),))
    thanks I'll keep trying
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!