mirror of
https://github.com/searxng/searxng.git
synced 2026-05-27 13:20:11 +02:00
[mod] online engines - set common HTTP headers
The online engines emulate a request as it would come from a web browser, which is why the HTTP headers in the default settings should also be set the way a standard web browser would set them. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
committed by
Markus Heiser
parent
cc39cf7df3
commit
490f28f0a6
@@ -141,28 +141,31 @@ class OnlineProcessor(EngineProcessor):
|
||||
params: OnlineParams = {**default_request_params(), **base_params}
|
||||
|
||||
headers = params["headers"]
|
||||
headers["Accept-Encoding"] = "gzip, deflate"
|
||||
headers["Cache-Control"] = "no-cache"
|
||||
headers["DNT"] = "1"
|
||||
headers["Connection"] = "keep-alive"
|
||||
|
||||
# add an user agent
|
||||
headers["User-Agent"] = gen_useragent()
|
||||
|
||||
# add Accept-Language header
|
||||
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Language
|
||||
|
||||
headers["Accept-Language"] = "en,en-US;q=0.7,en;q=0.3"
|
||||
if self.engine.send_accept_language_header and search_query.locale:
|
||||
ac_lang = search_query.locale.language
|
||||
if search_query.locale.territory:
|
||||
ac_lang = "%s-%s,%s;q=0.9,*;q=0.5" % (
|
||||
search_query.locale.language,
|
||||
search_query.locale.territory,
|
||||
search_query.locale.language,
|
||||
)
|
||||
headers["Accept-Language"] = ac_lang
|
||||
_l = search_query.locale.language
|
||||
_t = search_query.locale.territory or _l
|
||||
headers["Accept-Language"] = f"{_l},{_l}-{_t};q=0.7,en;q=0.3"
|
||||
self.logger.debug("HTTP Accept-Language: %s", headers.get("Accept-Language", ""))
|
||||
|
||||
# https://developer.mozilla.org/en-US/docs/Glossary/Fetch_metadata_request_header
|
||||
headers["Sec-Fetch-Dest"] = "empty"
|
||||
headers["Sec-Fetch-Mode"] = "cors"
|
||||
headers["Sec-Fetch-Dest"] = "document"
|
||||
headers["Sec-Fetch-Mode"] = "navigate"
|
||||
headers["Sec-Fetch-Site"] = "same-origin"
|
||||
headers["Sec-Fetch-User"] = "?1"
|
||||
headers["Sec-GPC"] = "1"
|
||||
# Sec-GPC is in an experimental state (FFox only)
|
||||
# headers["Sec-GPC"] = "1"
|
||||
|
||||
return params
|
||||
|
||||
|
||||
Reference in New Issue
Block a user