mirror of
https://github.com/searxng/searxng.git
synced 2025-11-20 05:23:09 -05:00
[fix] engine qwant - return forbidden instead of showing parse error (#5377)
This commit is contained in:
parent
50a4c653dc
commit
4ca75a0450
@ -53,6 +53,7 @@ from searx.exceptions import (
|
||||
SearxEngineAPIException,
|
||||
SearxEngineTooManyRequestsException,
|
||||
SearxEngineCaptchaException,
|
||||
SearxEngineAccessDeniedException,
|
||||
)
|
||||
from searx.network import raise_for_httperror
|
||||
from searx.enginelib.traits import EngineTraits
|
||||
@ -184,8 +185,12 @@ def parse_web_api(resp):
|
||||
|
||||
results = []
|
||||
|
||||
# load JSON result
|
||||
# Try to load JSON result
|
||||
try:
|
||||
search_results = loads(resp.text)
|
||||
except ValueError:
|
||||
search_results = {}
|
||||
|
||||
data = search_results.get('data', {})
|
||||
|
||||
# check for an API error
|
||||
@ -195,6 +200,8 @@ def parse_web_api(resp):
|
||||
raise SearxEngineTooManyRequestsException()
|
||||
if search_results.get("data", {}).get("error_data", {}).get("captchaUrl") is not None:
|
||||
raise SearxEngineCaptchaException()
|
||||
if resp.status_code == 403:
|
||||
raise SearxEngineAccessDeniedException()
|
||||
msg = ",".join(data.get('message', ['unknown']))
|
||||
raise SearxEngineAPIException(f"{msg} ({error_code})")
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user