import requests
import sys

def doCdm(manifest_url, title, single=True):
    fkeys = ""

    license_url = input("Inserisci l'URL della licenza: ")
    if license_url is not None:
        print("URL della licenza:", license_url)
        pssh = input('Inserisci il pssh: ')

        pr_client = requests.Session()
        pr_client.headers.update(
            {
                'x-api-key': '1e39b21d4f844ea793b923b9f73dd2bf',
                'x-api-username': 'tutim'
            }
        )
        resp = pr_client.post(
            'http://31.207.45.191:62318/challenge',
            json={
                'pssh': pssh,
                'device_name': 'lol'
            },
        )
        challenge = resp.json()['challenge'].encode()

        headers = {
        "Accept": "*/*",
        "Accept-Language": "it,it-IT;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
        "Connection": "keep-alive",
        "Content-Type": "application/json",
        "Cookie": "session-id=259-7406774-7952008; i18n-prefs=USD; ubid-main-av=260-0538526-5632269; av-timezone=Europe/Rome; x-main-av=\"EzH9?iYKo9ebFo1GKcLIUCd7IrJqs28VZr@BQy5EPLJZtdkt5P7tHZIJgwh5RozO\"; at-main-av=Atza|IwEBIBwLPKF3kBUj9WWIVD3fOYjB3vl5k9h7-BSnTNjuTqMEU7_7HWj91ne59RPbTy3jj0but9aRUpI1qIO_E7lwg3jLDbpePqjNrRAkyF1e-iiYRt0VatAaPRLJFcuNagqF8GcDMl_gQ4p2XN8z4M8TrXzkZ4corO2SD_vg6E4wzHsAJ2MpYr8MTi604guPkmvSDoUxQOmAEM5NtoUo7eC0I5wADdEfKezUPctZRluroBUH5w; sess-at-main-av=\"RFH6DKM7JsBLpDTIktDZdtXFUBkmrQBXs+dg9tPGhKM=\"; session-id-time=2082787201l; lc-main-av=it_IT; av-profile=cGlkPWFtem4xLmFjdG9yLnBlcnNvbi5vaWQuQTNWU0haM0FUUEdQWUomdGltZXN0YW1wPTE3MDc4NTQwMDAyNjAmdmVyc2lvbj12MQ.g7W8EbgEwZepocfU4ymXDIe0C9-lWgxBmwC7xWMi6cmgAAAAAQAAAABly8iwcmF3AAAAAPgWC9WfHH8iB-olH_E9xQ; session-token=\"FRyR1cbaBN9Wllk7DL5Vy/E0YYN8ttHRoxy7wszCZrqfJgF9wf3Sve6ZynYdevg9/q3mqaM28oYb3Sg+xMdCcTBS+rLoBlUAxZMlceJ0zaDWR4RJbUdvlr27y7orAgAOVEGcHfULEVAeKB/oZUqw19+LWm0iY+bIv21k8+fXzqC702F4MotUF++f4npRVNvzQtf4QZzAK+HgiU5PiOGlqC37aDds87U0syzhUHaiJkeTWD6iUOfP0QxEQjFuAJBJrDnVh2zK6hzRd48mMr0kSKdYmjzk5xnjtz7ko6p6yra7YVrcT1U9EwAOGdlkq/we9whIKekBrKFSDEJzI2hSqdwcvxDgNG3BJIDfAOJdqPmfsbteSjtnAwkTrfMIOCKRZvkDykYaovY=\"",
        "Origin": "https://www.primevideo.com",
        "Referer": "https://www.primevideo.com/",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-site",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0",
        "sec-ch-ua": "\"Not A(Brand\";v=\"99\", \"Microsoft Edge\";v=\"121\", \"Chromium\";v=\"121\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\""
        }

        license_response = requests.post(license_url, headers=headers, data=challenge)
        license_response.raise_for_status()

        resp = pr_client.post(
            'http://31.207.45.191:62318/keys',
            json={'license': license_response.text}
        )
        print(resp.json()['keys'])
        sys.exit()

# Esempio di utilizzo
doCdm('url_del_manifesto', 'titolo_del_manifesto')


