fix(ai): entetes navigateur pour le repli web_search (Bing/DDG, BUG-051)
This commit is contained in:
+14
-2
@@ -54,6 +54,18 @@ BROWSER_UA = (
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
|
||||
"(KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
|
||||
)
|
||||
# A minimal UA is not enough: Bing serves decoy SERPs (unrelated results) to
|
||||
# requests missing the usual browser navigation headers.
|
||||
BROWSER_HEADERS = {
|
||||
"User-Agent": BROWSER_UA,
|
||||
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
|
||||
"Accept-Language": "fr-CA,fr;q=0.9,en-US;q=0.8,en;q=0.7",
|
||||
"Sec-Fetch-Dest": "document",
|
||||
"Sec-Fetch-Mode": "navigate",
|
||||
"Sec-Fetch-Site": "none",
|
||||
"Sec-Fetch-User": "?1",
|
||||
"Upgrade-Insecure-Requests": "1",
|
||||
}
|
||||
MAX_FETCH_BYTES = 1_500_000
|
||||
MAX_TEXT_CHARS = 20_000
|
||||
|
||||
@@ -209,7 +221,7 @@ def _search_duckduckgo(
|
||||
resp = httpx.get(
|
||||
"https://html.duckduckgo.com/html/",
|
||||
params={"q": query, **({"kl": params.language} if params.language else {})},
|
||||
headers={"User-Agent": BROWSER_UA, "Accept": "text/html,application/xhtml+xml"},
|
||||
headers=BROWSER_HEADERS,
|
||||
timeout=WEB_TIMEOUT,
|
||||
follow_redirects=False,
|
||||
)
|
||||
@@ -251,7 +263,7 @@ def _search_bing(
|
||||
resp = httpx.get(
|
||||
"https://www.bing.com/search",
|
||||
params={"q": query, **({"setlang": params.language} if params.language else {})},
|
||||
headers={"User-Agent": BROWSER_UA, "Accept": "text/html,application/xhtml+xml"},
|
||||
headers=BROWSER_HEADERS,
|
||||
timeout=WEB_TIMEOUT,
|
||||
follow_redirects=False,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user