summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--phind/README.md1
-rw-r--r--phind/__init__.py20
-rw-r--r--phind/phind_test.py (renamed from testing/phind_test.py)3
3 files changed, 17 insertions, 7 deletions
diff --git a/phind/README.md b/phind/README.md
index c9b85dbb..f17f487f 100644
--- a/phind/README.md
+++ b/phind/README.md
@@ -5,6 +5,7 @@ import phind
# set cf_clearance cookie
phind.cf_clearance = 'xx.xx-1682166681-0-160'
+phind.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' # same as the one from browser you got cf_clearance from
prompt = 'who won the quatar world cup'
diff --git a/phind/__init__.py b/phind/__init__.py
index 8bae9f17..629befa5 100644
--- a/phind/__init__.py
+++ b/phind/__init__.py
@@ -8,6 +8,7 @@ from re import findall
from curl_cffi.requests import post
cf_clearance = ''
+user_agent = ''
class PhindResponse:
@@ -52,6 +53,9 @@ class PhindResponse:
class Search:
def create(prompt: str, actualSearch: bool = True, language: str = 'en') -> dict: # None = no search
+ if user_agent == '':
+ raise ValueError('user_agent must be set, refer to documentation')
+
if not actualSearch:
return {
'_type': 'SearchResponse',
@@ -83,7 +87,7 @@ class Search:
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
- 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
+ 'user-agent': user_agent
}
return post('https://www.phind.com/api/bing/search', headers = headers, json = {
@@ -102,6 +106,9 @@ class Completion:
codeContext: str = '',
language: str = 'en') -> PhindResponse:
+ if user_agent == '':
+ raise ValueError('user_agent must be set, refer to documentation')
+
if results is None:
results = Search.create(prompt, actualSearch = True)
@@ -141,7 +148,7 @@ class Completion:
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
- 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
+ 'user-agent': user_agent
}
completion = ''
@@ -192,9 +199,7 @@ class StreamingCompletion:
'creative': creative
}
}
-
- print(cf_clearance)
-
+
headers = {
'authority': 'www.phind.com',
'accept': '*/*',
@@ -209,7 +214,7 @@ class StreamingCompletion:
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
- 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
+ 'user-agent': user_agent
}
response = post('https://www.phind.com/api/infer/answer',
@@ -228,6 +233,9 @@ class StreamingCompletion:
codeContext : str = '',
language : str = 'en'):
+ if user_agent == '':
+ raise ValueError('user_agent must be set, refer to documentation')
+
if results is None:
results = Search.create(prompt, actualSearch = True)
diff --git a/testing/phind_test.py b/phind/phind_test.py
index 3e9217e1..94354fd8 100644
--- a/testing/phind_test.py
+++ b/phind/phind_test.py
@@ -1,7 +1,8 @@
import phind
# set cf_clearance cookie
-phind.cf_clearance = 'hWfIdYKgcnxnU5ayolWe9t7eEmAbULywS.qfHkm1T_A-1682166681-0-160'
+phind.cf_clearance = 'heguhSRBB9d0sjLvGbQECS8b80m2BQ31xEmk9ChshKI-1682268995-0-160'
+phind.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
prompt = 'hello world'