summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rwxr-xr-xyoutube_dl/InfoExtractors.py5
-rw-r--r--youtube_dl/__init__.py7
3 files changed, 13 insertions, 1 deletions
diff --git a/README.md b/README.md
index 0ab4b660c..d3073e641 100644
--- a/README.md
+++ b/README.md
@@ -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: