diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-04-26 19:25:17 +0200 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-04-26 19:34:32 +0200 | 
| commit | 3820df0106d6065f50cc1eb90823906410dc9543 (patch) | |
| tree | 71e3da6ac02dfc3e48aa206aa09ce886ed8c6a47 | |
| parent | fa70605db287fd74f7d32b966ecca56260c651a0 (diff) | |
| parent | 59cc5d9380ee6ffc9032c9a3873b006a824ae934 (diff) | |
Merge pull request #801 from expleo/add_referer_support
| -rw-r--r-- | README.md | 2 | ||||
| -rwxr-xr-x | youtube_dl/InfoExtractors.py | 5 | ||||
| -rw-r--r-- | youtube_dl/__init__.py | 7 | 
3 files changed, 13 insertions, 1 deletions
@@ -27,6 +27,8 @@ which means you can modify it, redistribute it or use it however you like.                                 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 diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 4d145dfa1..3450f0d17 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -1093,7 +1093,10 @@ class VimeoIE(InfoExtractor):              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 diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 74375175d..d491402c6 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -140,6 +140,9 @@ def parseOpts(overrideArguments=None):              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) @@ -342,6 +345,10 @@ def _real_main(argv=None):      # Set user agent      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:  | 
