[fix] engines: dogpile cors headers (#6814)

Added Sec-Fetch-Mode header to fix the engine. Dogpile now has better bot detection, similar to tusksearch, we now require CORS headers in the request.
This commit is contained in:
Brock Vojkovic authored and GitHub committed 2026-10-04 07:44:15 +02:00
1 parent 19ffbcd306
commit ce913b8934
1 file changed
+6 -1
+6 -1
View File
@@ -54,7 +54,11 @@ def _obtain_token() -> str:
token = CACHE.get("token")
if token:
return token
resp = post(f"{base_url}/api/token/refresh", headers={"Origin": base_url}, cookies={"dp_api_token": "1"})
resp = post(
f"{base_url}/api/token/refresh",
headers={"Origin": base_url, "Sec-Fetch-Mode": "cors"},
cookies={"dp_api_token": "1"},
)
if not resp.ok:
raise SearxEngineAPIException("failed to obtain dogpile token")
token = resp.json()["token"]
@@ -65,6 +69,7 @@ def _obtain_token() -> str:
def request(query: str, params: "OnlineParams"):
params["url"] = f"{base_url}/api/{dogpile_categ}"
params["headers"]["Origin"] = base_url
params["headers"]["Sec-Fetch-Mode"] = "cors"
params["cookies"]["dp_api_token"] = "1"
params["headers"]["x-dogpile-token"] = _obtain_token()