mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 08:57:08 -05:00 
			
		
		
		
	[soundcloud] Support api urls with secret_token, Closes #3707
This commit is contained in:
		@@ -31,7 +31,8 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
                            (?!sets/|likes/?(?:$|[?#]))
 | 
			
		||||
                            (?P<title>[\w\d-]+)/?
 | 
			
		||||
                            (?P<token>[^?]+?)?(?:[?].*)?$)
 | 
			
		||||
                       |(?:api\.soundcloud\.com/tracks/(?P<track_id>\d+))
 | 
			
		||||
                       |(?:api\.soundcloud\.com/tracks/(?P<track_id>\d+)
 | 
			
		||||
                          (?:/?\?secret_token=(?P<secret_token>[^&]+?))?$)
 | 
			
		||||
                       |(?P<player>(?:w|player|p.)\.soundcloud\.com/player/?.*?url=.*)
 | 
			
		||||
                    )
 | 
			
		||||
                    '''
 | 
			
		||||
@@ -80,6 +81,20 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
                'duration': 9,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        # private link (alt format)
 | 
			
		||||
        {
 | 
			
		||||
            'url': 'https://api.soundcloud.com/tracks/123998367?secret_token=s-8Pjrp',
 | 
			
		||||
            'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604',
 | 
			
		||||
            'info_dict': {
 | 
			
		||||
                'id': '123998367',
 | 
			
		||||
                'ext': 'mp3',
 | 
			
		||||
                'title': 'Youtube - Dl Test Video \'\' Ä↭',
 | 
			
		||||
                'uploader': 'jaimeMF',
 | 
			
		||||
                'description': 'test chars:  \"\'/\\ä↭',
 | 
			
		||||
                'upload_date': '20131209',
 | 
			
		||||
                'duration': 9,
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        # downloadable song
 | 
			
		||||
        {
 | 
			
		||||
            'url': 'https://soundcloud.com/oddsamples/bus-brakes',
 | 
			
		||||
@@ -197,6 +212,9 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
        if track_id is not None:
 | 
			
		||||
            info_json_url = 'http://api.soundcloud.com/tracks/' + track_id + '.json?client_id=' + self._CLIENT_ID
 | 
			
		||||
            full_title = track_id
 | 
			
		||||
            token = mobj.group('secret_token')
 | 
			
		||||
            if token:
 | 
			
		||||
                info_json_url += "&secret_token=" + token
 | 
			
		||||
        elif mobj.group('player'):
 | 
			
		||||
            query = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query)
 | 
			
		||||
            return self.url_result(query['url'][0])
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user