mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-24 15:50:32 +01:00
Merge pull request #801 from expleo/add_referer_support
This commit is contained in:
commit
3820df0106
@ -27,6 +27,8 @@ # OPTIONS
|
||||
from an initial value of SIZE.
|
||||
--dump-user-agent display the current browser identification
|
||||
--user-agent UA specify a custom user agent
|
||||
--referer REF specify a custom referer, use if the video access
|
||||
is restricted to one domain
|
||||
--list-extractors List all supported extractors and the URLs they
|
||||
would handle
|
||||
|
||||
|
@ -1093,7 +1093,10 @@ def _real_extract(self, url, new_video=True):
|
||||
config = webpage.split(' = {config:')[1].split(',assets:')[0]
|
||||
config = json.loads(config)
|
||||
except:
|
||||
self._downloader.report_error(u'unable to extract info section')
|
||||
if re.search('The creator of this video has not given you permission to embed it on this domain.', webpage):
|
||||
self._downloader.report_error(u'The author has restricted the access to this video, try with the "--referer" option')
|
||||
else:
|
||||
self._downloader.report_error(u'unable to extract info section')
|
||||
return
|
||||
|
||||
# Extract title
|
||||
|
@ -140,6 +140,9 @@ def _find_term_columns():
|
||||
help='display the current browser identification', default=False)
|
||||
general.add_option('--user-agent',
|
||||
dest='user_agent', help='specify a custom user agent', metavar='UA')
|
||||
general.add_option('--referer',
|
||||
dest='referer', help='specify a custom referer, use if the video access is restricted to one domain',
|
||||
metavar='REF', default=None)
|
||||
general.add_option('--list-extractors',
|
||||
action='store_true', dest='list_extractors',
|
||||
help='List all supported extractors and the URLs they would handle', default=False)
|
||||
@ -343,6 +346,10 @@ def _real_main(argv=None):
|
||||
if opts.user_agent is not None:
|
||||
std_headers['User-Agent'] = opts.user_agent
|
||||
|
||||
# Set referer
|
||||
if opts.referer is not None:
|
||||
std_headers['Referer'] = opts.referer
|
||||
|
||||
# Dump user agent
|
||||
if opts.dump_user_agent:
|
||||
print(std_headers['User-Agent'])
|
||||
|
Loading…
Reference in New Issue
Block a user