diff options
| author | Alexandre Flament <alex@al-f.net> | 2021-02-09 12:07:19 +0100 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2021-02-12 11:10:08 +0100 |
| commit | c22d4c764cae6097c463045e86bc81b4becb2545 (patch) | |
| tree | aed0a3d557b114179dddc1ff329b0dfbeaec6640 /searx/engines/duckduckgo.py | |
| parent | d76660463b9001137c092d61a2781464f8345316 (diff) | |
[fix] duckduckgo engine: "!ddg !g" do not redirect to google
* searx understand "!ddg !g time" as : send "!g time" to DDG
* !g a DDG bang for Google: DDG return a HTTP redirect to Google
This commit adds a the allows_redirect param not to follow HTTP redirect.
The DDG engine returns a empty result as before without HTTP redirect.
Diffstat (limited to 'searx/engines/duckduckgo.py')
| -rw-r--r-- | searx/engines/duckduckgo.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py index 638f1211b..92431b137 100644 --- a/searx/engines/duckduckgo.py +++ b/searx/engines/duckduckgo.py @@ -75,12 +75,18 @@ def request(query, params): params['data']['kl'] = region_code params['cookies']['kl'] = region_code - params['data']['df'] = time_range_dict.get(params['time_range'], '') + if params['time_range'] in time_range_dict: + params['data']['df'] = time_range_dict[params['time_range']] + + params['allow_redirects'] = False return params # get response from search-request def response(resp): + if resp.status_code == 303: + return [] + # ping headers_ping = dict_subset(resp.request.headers, ['User-Agent', 'Accept-Encoding', 'Accept', 'Cookie']) get(url_ping, headers=headers_ping) |