mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[ie/afreecatv] Fix login and use legacy_ssl (#10440)
				
					
				
			Fixes regression in e8352ad659 due to cookies bug in curl_cffi < 0.7.1
Closes #10438
Authored by: bashonly
			
			
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| import functools | ||||
| 
 | ||||
| from .common import InfoExtractor | ||||
| from ..networking import Request | ||||
| from ..utils import ( | ||||
|     ExtractorError, | ||||
|     OnDemandPagedList, | ||||
| @@ -58,6 +59,13 @@ class AfreecaTVBaseIE(InfoExtractor): | ||||
|                 f'Unable to login: {self.IE_NAME} said: {error}', | ||||
|                 expected=True) | ||||
| 
 | ||||
|     def _call_api(self, endpoint, display_id, data=None, headers=None, query=None): | ||||
|         return self._download_json(Request( | ||||
|             f'https://api.m.afreecatv.com/{endpoint}', | ||||
|             data=data, headers=headers, query=query, | ||||
|             extensions={'legacy_ssl': True}), display_id, | ||||
|             'Downloading API JSON', 'Unable to download API JSON') | ||||
| 
 | ||||
| 
 | ||||
| class AfreecaTVIE(AfreecaTVBaseIE): | ||||
|     IE_NAME = 'afreecatv' | ||||
| @@ -184,12 +192,12 @@ class AfreecaTVIE(AfreecaTVBaseIE): | ||||
| 
 | ||||
|     def _real_extract(self, url): | ||||
|         video_id = self._match_id(url) | ||||
|         data = self._download_json( | ||||
|             'https://api.m.afreecatv.com/station/video/a/view', video_id, | ||||
|             headers={'Referer': url}, data=urlencode_postdata({ | ||||
|         data = self._call_api( | ||||
|             'station/video/a/view', video_id, headers={'Referer': url}, | ||||
|             data=urlencode_postdata({ | ||||
|                 'nTitleNo': video_id, | ||||
|                 'nApiLevel': 10, | ||||
|             }), impersonate=True)['data'] | ||||
|             }))['data'] | ||||
| 
 | ||||
|         error_code = traverse_obj(data, ('code', {int})) | ||||
|         if error_code == -6221: | ||||
| @@ -267,9 +275,9 @@ class AfreecaTVCatchStoryIE(AfreecaTVBaseIE): | ||||
| 
 | ||||
|     def _real_extract(self, url): | ||||
|         video_id = self._match_id(url) | ||||
|         data = self._download_json( | ||||
|             'https://api.m.afreecatv.com/catchstory/a/view', video_id, headers={'Referer': url}, | ||||
|             query={'aStoryListIdx': '', 'nStoryIdx': video_id}, impersonate=True) | ||||
|         data = self._call_api( | ||||
|             'catchstory/a/view', video_id, headers={'Referer': url}, | ||||
|             query={'aStoryListIdx': '', 'nStoryIdx': video_id}) | ||||
| 
 | ||||
|         return self.playlist_result(self._entries(data), video_id) | ||||
| 
 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bashonly
					bashonly