mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[rh:requests] Add handler for requests HTTP library (#3668)
				
					
				
			Adds support for HTTPS proxies and persistent connections (keep-alive) Closes https://github.com/yt-dlp/yt-dlp/issues/1890 Resolves https://github.com/yt-dlp/yt-dlp/issues/4070 Resolves https://github.com/ytdl-org/youtube-dl/issues/32549 Resolves https://github.com/ytdl-org/youtube-dl/issues/14523 Resolves https://github.com/ytdl-org/youtube-dl/issues/13734 Authored by: coletdjnz, Grub4K, bashonly
This commit is contained in:
		| @@ -3968,7 +3968,7 @@ class YoutubeDL: | ||||
|         })) or 'none')) | ||||
| 
 | ||||
|         write_debug(f'Proxy map: {self.proxies}') | ||||
|         # write_debug(f'Request Handlers: {", ".join(rh.RH_NAME for rh in self._request_director.handlers.values())}') | ||||
|         write_debug(f'Request Handlers: {", ".join(rh.RH_NAME for rh in self._request_director.handlers.values())}') | ||||
|         for plugin_type, plugins in {'Extractor': plugin_ies, 'Post-Processor': plugin_pps}.items(): | ||||
|             display_list = ['%s%s' % ( | ||||
|                 klass.__name__, '' if klass.__name__ == name else f' as {name}') | ||||
| @@ -4057,6 +4057,9 @@ class YoutubeDL: | ||||
|                     raise RequestError( | ||||
|                         'file:// URLs are disabled by default in yt-dlp for security reasons. ' | ||||
|                         'Use --enable-file-urls to enable at your own risk.', cause=ue) from ue | ||||
|                 if 'unsupported proxy type: "https"' in ue.msg.lower(): | ||||
|                     raise RequestError( | ||||
|                         'To use an HTTPS proxy for this request, one of the following dependencies needs to be installed: requests') | ||||
|             raise | ||||
|         except SSLError as e: | ||||
|             if 'UNSAFE_LEGACY_RENEGOTIATION_DISABLED' in str(e): | ||||
| @@ -4099,6 +4102,8 @@ class YoutubeDL: | ||||
|                 }), | ||||
|             )) | ||||
|         director.preferences.update(preferences or []) | ||||
|         if 'prefer-legacy-http-handler' in self.params['compat_opts']: | ||||
|             director.preferences.add(lambda rh, _: 500 if rh.RH_KEY == 'Urllib' else 0) | ||||
|         return director | ||||
| 
 | ||||
|     def encode(self, s): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 coletdjnz
					coletdjnz