feat: add flag to suppress standard headers

This commit is contained in:
Christian Groschupp 2025-01-24 11:52:38 +01:00
parent ccda63934d
commit 3d85135c02
4 changed files with 10 additions and 1 deletions

View File

@ -778,6 +778,7 @@ ## Workarounds:
--add-headers FIELD:VALUE Specify a custom HTTP header and its value,
separated by a colon ":". You can use this
option multiple times
--no-std-headers Suppress standard headers
--bidi-workaround Work around terminals that lack
bidirectional text support. Requires bidiv
or fribidi executable in PATH

View File

@ -351,6 +351,7 @@ class YoutubeDL:
(Only supported by some extractors)
enable_file_urls: Enable file:// URLs. This is disabled by default for security reasons.
http_headers: A dictionary of custom headers to be used for all requests
no_std_headers: Suppress standard headers
proxy: URL of the proxy server to use
geo_verification_proxy: URL of the proxy to use for IP address verification
on geo-restricted sites.
@ -715,7 +716,8 @@ def process_color_policy(stream):
raise
self.params['compat_opts'] = set(self.params.get('compat_opts', ()))
self.params['http_headers'] = HTTPHeaderDict(std_headers, self.params.get('http_headers'))
headers = HTTPHeaderDict({}) if self.params.get('no_std_headers') else std_headers
self.params['http_headers'] = HTTPHeaderDict(headers, self.params.get('http_headers'))
self._load_cookies(self.params['http_headers'].get('Cookie')) # compat
self.params['http_headers'].pop('Cookie', None)

View File

@ -914,6 +914,7 @@ def parse_options(argv=None):
'prefer_insecure': opts.prefer_insecure,
'enable_file_urls': opts.enable_file_urls,
'http_headers': opts.headers,
'no_std_headers': opts.no_std_headers,
'proxy': opts.proxy,
'socket_timeout': opts.socket_timeout,
'bidi_workaround': opts.bidi_workaround,

View File

@ -1115,6 +1115,11 @@ def _alias_callback(option, opt_str, value, parser, opts, nargs):
callback_kwargs={'multiple_keys': False},
help='Specify a custom HTTP header and its value, separated by a colon ":". You can use this option multiple times',
)
workarounds.add_option(
'--no-std-headers',
action='store_true', dest='no_std_headers', default=False,
help='Suppress standard headers',
)
workarounds.add_option(
'--bidi-workaround',
dest='bidi_workaround', action='store_true',