mirror of
				https://github.com/ytdl-org/youtube-dl
				synced 2025-10-30 17:23:31 +00:00 
			
		
		
		
	[utils] Separate codes for handling Youtubedl-* headers
This commit is contained in:
		
							parent
							
								
									46b4070f3f
								
							
						
					
					
						commit
						87f0e62d94
					
				| @ -663,6 +663,15 @@ def _create_http_connection(ydl_handler, http_class, is_https, *args, **kwargs): | ||||
|     return hc | ||||
| 
 | ||||
| 
 | ||||
| def handle_youtubedl_headers(headers): | ||||
|     if 'Youtubedl-no-compression' in headers: | ||||
|         filtered_headers = dict((k, v) for k, v in headers.items() if k.lower() != 'accept-encoding') | ||||
|         del filtered_headers['Youtubedl-no-compression'] | ||||
|         return filtered_headers | ||||
| 
 | ||||
|     return headers | ||||
| 
 | ||||
| 
 | ||||
| class YoutubeDLHandler(compat_urllib_request.HTTPHandler): | ||||
|     """Handler for HTTP requests and responses. | ||||
| 
 | ||||
| @ -731,10 +740,8 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler): | ||||
|             # The dict keys are capitalized because of this bug by urllib | ||||
|             if h.capitalize() not in req.headers: | ||||
|                 req.add_header(h, v) | ||||
|         if 'Youtubedl-no-compression' in req.headers: | ||||
|             if 'Accept-encoding' in req.headers: | ||||
|                 del req.headers['Accept-encoding'] | ||||
|             del req.headers['Youtubedl-no-compression'] | ||||
| 
 | ||||
|         req.headers = handle_youtubedl_headers(req.headers) | ||||
| 
 | ||||
|         if sys.version_info < (2, 7) and '#' in req.get_full_url(): | ||||
|             # Python 2.6 is brain-dead when it comes to fragments | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
						Yen Chi Hsuan