import base64
import json
import re
-import urllib
+import urllib.parse
from .common import InfoExtractor
from .adobepass import AdobePassIE
video_id)['playbackState']
# ESPN+ subscription required, through cookies
- if video_data.get('sourceId') == 'ESPN_DTC':
+ if 'DTC' in video_data.get('sourceId'):
cookie = self._get_cookies(url).get('ESPN-ONESITE.WEB-PROD.token')
if not cookie:
self.raise_login_required(method='cookies')
})
m3u8_url, headers = playback['stream']['complete'][0]['url'], {'authorization': token}
+ # No login required
+ elif video_data.get('sourceId') == 'ESPN_FREE':
+ asset = self._download_json(
+ f'https://watch.auth.api.espn.com/video/auth/media/{video_id}/asset?apikey=uiqlbgzdwuru14v627vdusswb',
+ video_id)
+ m3u8_url, headers = asset['stream'], {}
+
# TV Provider required
else:
resource = self._get_mvpd_resource('ESPN', video_data['name'], video_id, None)