[brightcove] Pass embed page URL as referrer (closes #15486)
This commit is contained in:
		
							parent
							
								
									b91a7a4e5e
								
							
						
					
					
						commit
						5399ab3f0c
					
				
					 2 changed files with 14 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -690,10 +690,17 @@ class BrightcoveNewIE(AdobePassIE):
 | 
			
		|||
                webpage, 'policy key', group='pk')
 | 
			
		||||
 | 
			
		||||
        api_url = 'https://edge.api.brightcove.com/playback/v1/accounts/%s/videos/%s' % (account_id, video_id)
 | 
			
		||||
        try:
 | 
			
		||||
            json_data = self._download_json(api_url, video_id, headers={
 | 
			
		||||
                'Accept': 'application/json;pk=%s' % policy_key
 | 
			
		||||
        headers = {
 | 
			
		||||
            'Accept': 'application/json;pk=%s' % policy_key,
 | 
			
		||||
        }
 | 
			
		||||
        referrer = smuggled_data.get('referrer')
 | 
			
		||||
        if referrer:
 | 
			
		||||
            headers.update({
 | 
			
		||||
                'Referer': referrer,
 | 
			
		||||
                'Origin': re.search(r'https?://[^/]+', referrer).group(0),
 | 
			
		||||
            })
 | 
			
		||||
        try:
 | 
			
		||||
            json_data = self._download_json(api_url, video_id, headers=headers)
 | 
			
		||||
        except ExtractorError as e:
 | 
			
		||||
            if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403:
 | 
			
		||||
                json_data = self._parse_json(e.cause.read().decode(), video_id)[0]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2280,7 +2280,10 @@ class GenericIE(InfoExtractor):
 | 
			
		|||
        # Look for Brightcove New Studio embeds
 | 
			
		||||
        bc_urls = BrightcoveNewIE._extract_urls(self, webpage)
 | 
			
		||||
        if bc_urls:
 | 
			
		||||
            return self.playlist_from_matches(bc_urls, video_id, video_title, ie='BrightcoveNew')
 | 
			
		||||
            return self.playlist_from_matches(
 | 
			
		||||
                bc_urls, video_id, video_title,
 | 
			
		||||
                getter=lambda x: smuggle_url(x, {'referrer': url}),
 | 
			
		||||
                ie='BrightcoveNew')
 | 
			
		||||
 | 
			
		||||
        # Look for Nexx embeds
 | 
			
		||||
        nexx_urls = NexxIE._extract_urls(webpage)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue