mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	Handle Basic Auth user:pass in URLs
				
					
				
			Fixes https://github.com/ytdl-org/youtube-dl/issues/20258, https://github.com/ytdl-org/youtube-dl/issues/26211 Authored by: hhirtz, pukkandan
This commit is contained in:
		| @@ -66,6 +66,7 @@ from yt_dlp.utils import ( | ||||
|     sanitize_filename, | ||||
|     sanitize_path, | ||||
|     sanitize_url, | ||||
|     sanitized_Request, | ||||
|     expand_path, | ||||
|     prepend_extension, | ||||
|     replace_extension, | ||||
| @@ -239,6 +240,15 @@ class TestUtil(unittest.TestCase): | ||||
|         self.assertEqual(sanitize_url('rmtps://foo.bar'), 'rtmps://foo.bar') | ||||
|         self.assertEqual(sanitize_url('https://foo.bar'), 'https://foo.bar') | ||||
|  | ||||
|     def test_extract_basic_auth(self): | ||||
|         auth_header = lambda url: sanitized_Request(url).get_header('Authorization') | ||||
|         self.assertFalse(auth_header('http://foo.bar')) | ||||
|         self.assertFalse(auth_header('http://:foo.bar')) | ||||
|         self.assertEqual(auth_header('http://@foo.bar'), 'Basic Og==') | ||||
|         self.assertEqual(auth_header('http://:pass@foo.bar'), 'Basic OnBhc3M=') | ||||
|         self.assertEqual(auth_header('http://user:@foo.bar'), 'Basic dXNlcjo=') | ||||
|         self.assertEqual(auth_header('http://user:pass@foo.bar'), 'Basic dXNlcjpwYXNz') | ||||
|  | ||||
|     def test_expand_path(self): | ||||
|         def env(var): | ||||
|             return '%{0}%'.format(var) if sys.platform == 'win32' else '${0}'.format(var) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Hubert Hirtz
					Hubert Hirtz