| 
														
															@@ -435,6 +435,8 @@ class VimeoIE(VimeoBaseInfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             'url': 'https://vimeo.com/160743502/abd0e13fb4', 
														 | 
														
														 | 
														
															             'url': 'https://vimeo.com/160743502/abd0e13fb4', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             'only_matching': True, 
														 | 
														
														 | 
														
															             'only_matching': True, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        # https://gettingthingsdone.com/workflowmap/ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        # vimeo embed with check-password page protected by Referer header 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ] 
														 | 
														
														 | 
														
															     ] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @staticmethod 
														 | 
														
														 | 
														
															     @staticmethod 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -465,20 +467,22 @@ class VimeoIE(VimeoBaseInfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         urls = VimeoIE._extract_urls(url, webpage) 
														 | 
														
														 | 
														
															         urls = VimeoIE._extract_urls(url, webpage) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return urls[0] if urls else None 
														 | 
														
														 | 
														
															         return urls[0] if urls else None 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    def _verify_player_video_password(self, url, video_id): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    def _verify_player_video_password(self, url, video_id, headers): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         password = self._downloader.params.get('videopassword') 
														 | 
														
														 | 
														
															         password = self._downloader.params.get('videopassword') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if password is None: 
														 | 
														
														 | 
														
															         if password is None: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             raise ExtractorError('This video is protected by a password, use the --video-password option') 
														 | 
														
														 | 
														
															             raise ExtractorError('This video is protected by a password, use the --video-password option') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         data = urlencode_postdata({ 
														 | 
														
														 | 
														
															         data = urlencode_postdata({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             'password': base64.b64encode(password.encode()), 
														 | 
														
														 | 
														
															             'password': base64.b64encode(password.encode()), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }) 
														 | 
														
														 | 
														
															         }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        pass_url = url + '/check-password' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        password_request = sanitized_Request(pass_url, data) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        password_request.add_header('Content-Type', 'application/x-www-form-urlencoded') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        password_request.add_header('Referer', url) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return self._download_json( 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            password_request, video_id, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'Verifying the password', 'Wrong password') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        headers = merge_dicts(headers, { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'Content-Type': 'application/x-www-form-urlencoded', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        checked = self._download_json( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            url + '/check-password', video_id, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'Verifying the password', data=data, headers=headers) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if checked is False: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            raise ExtractorError('Wrong video password', expected=True) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return checked 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def _real_initialize(self): 
														 | 
														
														 | 
														
															     def _real_initialize(self): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         self._login() 
														 | 
														
														 | 
														
															         self._login() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -591,7 +595,7 @@ class VimeoIE(VimeoBaseInfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                      cause=e) 
														 | 
														
														 | 
														
															                                      cause=e) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         else: 
														 | 
														
														 | 
														
															         else: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if config.get('view') == 4: 
														 | 
														
														 | 
														
															             if config.get('view') == 4: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                config = self._verify_player_video_password(redirect_url, video_id) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                config = self._verify_player_video_password(redirect_url, video_id, headers) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         vod = config.get('video', {}).get('vod', {}) 
														 | 
														
														 | 
														
															         vod = config.get('video', {}).get('vod', {}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |