Skip to content

Commit 014cc63

Browse files
committed
Added option to use curl_cffi during search
1 parent 2feb2fc commit 014cc63

File tree

5 files changed

+22
-2
lines changed

5 files changed

+22
-2
lines changed

.github/workflows/integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
matrix:
1818
os: [ubuntu-latest]
19-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
19+
python-version: ["3.10", "3.11", "3.12", "3.13"]
2020
steps:
2121
- name: Checkout
2222
uses: actions/checkout@v2

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Community-Driven Development: Tracery is developed with input from the community
4242
Requirements
4343
############
4444

45-
Tracery supports Python 3.9+
45+
Tracery supports Python 3.10+
4646

4747
Installation
4848
############

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ pyyaml~=6.0
1313
requests[socks]~=2.32
1414
setproctitle~=1.3
1515
Werkzeug~=3.1
16+
curl_cffi~=0.14

searx/poolrequests.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from threading import local
55

66
import requests
7+
from curl_cffi import requests as requests_cffi
78

89
from searx import settings
910
from searx import logger
@@ -153,6 +154,23 @@ def get_global_proxies():
153154

154155

155156
def request(method, url, **kwargs):
157+
use_curl_cffi = settings.get('search', dict()).get('use_curl_cffi')
158+
if use_curl_cffi:
159+
return _request_cffi(method, url)
160+
161+
return _request(method, url, **kwargs)
162+
163+
164+
def _request_cffi(method, url):
165+
"""Executes the request using curl_cffi."""
166+
session = requests_cffi.Session()
167+
response = session.request(method=method, url=url, impersonate='chrome')
168+
session.close()
169+
170+
return response
171+
172+
173+
def _request(method, url, **kwargs):
156174
"""same as requests/requests/api.py request(...)"""
157175
time_before_request = time()
158176

searx/settings.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ search:
2020
ban_time_on_fail : 5 # ban time in seconds after engine errors
2121
max_ban_time_on_fail : 120 # max ban time in seconds after engine errors
2222
prefer_configured_language: False # increase weight of results in configured language in ranking
23+
use_curl_cffi : False # whether to use curl_cffi for requests
2324

2425
server:
2526
port : 9000

0 commit comments

Comments
 (0)