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): | 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 = [{ |     _TESTS = [{ | ||||||
|         'url': 'https://openload.co/f/kUEfGclsU9o', |         'url': 'https://openload.co/f/kUEfGclsU9o', | ||||||
| @@ -334,8 +345,11 @@ class OpenloadIE(InfoExtractor): | |||||||
|             webpage) |             webpage) | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
|         video_id = self._match_id(url) |         mobj = re.match(self._VALID_URL, url) | ||||||
|         url_pattern = 'https://openload.co/%%s/%s/' % video_id |         host = mobj.group('host') | ||||||
|  |         video_id = mobj.group('id') | ||||||
|  |  | ||||||
|  |         url_pattern = 'https://%s/%%s/%s/' % (host, video_id) | ||||||
|         headers = { |         headers = { | ||||||
|             'User-Agent': self._USER_AGENT, |             'User-Agent': self._USER_AGENT, | ||||||
|         } |         } | ||||||
| @@ -368,7 +382,7 @@ class OpenloadIE(InfoExtractor): | |||||||
|                            r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)'), webpage, |                            r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)'), webpage, | ||||||
|                           'stream URL')) |                           '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( |         title = self._og_search_title(webpage, default=None) or self._search_regex( | ||||||
|             r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage, |             r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage, | ||||||
| @@ -379,7 +393,7 @@ class OpenloadIE(InfoExtractor): | |||||||
|         entry = entries[0] if entries else {} |         entry = entries[0] if entries else {} | ||||||
|         subtitles = entry.get('subtitles') |         subtitles = entry.get('subtitles') | ||||||
|  |  | ||||||
|         info_dict = { |         return { | ||||||
|             'id': video_id, |             'id': video_id, | ||||||
|             'title': title, |             'title': title, | ||||||
|             'thumbnail': entry.get('thumbnail') or self._og_search_thumbnail(webpage, default=None), |             'thumbnail': entry.get('thumbnail') or self._og_search_thumbnail(webpage, default=None), | ||||||
| @@ -388,4 +402,3 @@ class OpenloadIE(InfoExtractor): | |||||||
|             'subtitles': subtitles, |             'subtitles': subtitles, | ||||||
|             'http_headers': headers, |             'http_headers': headers, | ||||||
|         } |         } | ||||||
|         return info_dict |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user