mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[openload] Use original host during extraction (closes #18211)
This commit is contained in:
		| @@ -243,7 +243,18 @@ class PhantomJSwrapper(object): | ||||
|  | ||||
|  | ||||
| class OpenloadIE(InfoExtractor): | ||||
|     _VALID_URL = r'https?://(?:www\.)?(?:openload\.(?:co|io|link)|oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun))/(?:f|embed)/(?P<id>[a-zA-Z0-9-_]+)' | ||||
|     _VALID_URL = r'''(?x) | ||||
|                     https?:// | ||||
|                         (?P<host> | ||||
|                             (?:www\.)? | ||||
|                             (?: | ||||
|                                 openload\.(?:co|io|link)| | ||||
|                                 oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun) | ||||
|                             ) | ||||
|                         )/ | ||||
|                         (?:f|embed)/ | ||||
|                         (?P<id>[a-zA-Z0-9-_]+) | ||||
|                     ''' | ||||
|  | ||||
|     _TESTS = [{ | ||||
|         'url': 'https://openload.co/f/kUEfGclsU9o', | ||||
| @@ -334,8 +345,11 @@ class OpenloadIE(InfoExtractor): | ||||
|             webpage) | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         video_id = self._match_id(url) | ||||
|         url_pattern = 'https://openload.co/%%s/%s/' % video_id | ||||
|         mobj = re.match(self._VALID_URL, url) | ||||
|         host = mobj.group('host') | ||||
|         video_id = mobj.group('id') | ||||
|  | ||||
|         url_pattern = 'https://%s/%%s/%s/' % (host, video_id) | ||||
|         headers = { | ||||
|             'User-Agent': self._USER_AGENT, | ||||
|         } | ||||
| @@ -368,7 +382,7 @@ class OpenloadIE(InfoExtractor): | ||||
|                            r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)'), webpage, | ||||
|                           'stream URL')) | ||||
|  | ||||
|         video_url = 'https://openload.co/stream/%s?mime=true' % decoded_id | ||||
|         video_url = 'https://%s/stream/%s?mime=true' % (host, decoded_id) | ||||
|  | ||||
|         title = self._og_search_title(webpage, default=None) or self._search_regex( | ||||
|             r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage, | ||||
| @@ -379,7 +393,7 @@ class OpenloadIE(InfoExtractor): | ||||
|         entry = entries[0] if entries else {} | ||||
|         subtitles = entry.get('subtitles') | ||||
|  | ||||
|         info_dict = { | ||||
|         return { | ||||
|             'id': video_id, | ||||
|             'title': title, | ||||
|             'thumbnail': entry.get('thumbnail') or self._og_search_thumbnail(webpage, default=None), | ||||
| @@ -388,4 +402,3 @@ class OpenloadIE(InfoExtractor): | ||||
|             'subtitles': subtitles, | ||||
|             'http_headers': headers, | ||||
|         } | ||||
|         return info_dict | ||||
|   | ||||
		Reference in New Issue
	
	Block a user