phind, user_agent and cf_clearance param for cloudflare bypass
This commit is contained in:
parent
99d36a7753
commit
20af89c0c2
3 changed files with 17 additions and 7 deletions
|
@ -5,6 +5,7 @@ import phind
|
||||||
|
|
||||||
# set cf_clearance cookie
|
# set cf_clearance cookie
|
||||||
phind.cf_clearance = 'xx.xx-1682166681-0-160'
|
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'
|
prompt = 'who won the quatar world cup'
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ from re import findall
|
||||||
from curl_cffi.requests import post
|
from curl_cffi.requests import post
|
||||||
|
|
||||||
cf_clearance = ''
|
cf_clearance = ''
|
||||||
|
user_agent = ''
|
||||||
|
|
||||||
class PhindResponse:
|
class PhindResponse:
|
||||||
|
|
||||||
|
@ -52,6 +53,9 @@ class PhindResponse:
|
||||||
|
|
||||||
class Search:
|
class Search:
|
||||||
def create(prompt: str, actualSearch: bool = True, language: str = 'en') -> dict: # None = no 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:
|
if not actualSearch:
|
||||||
return {
|
return {
|
||||||
'_type': 'SearchResponse',
|
'_type': 'SearchResponse',
|
||||||
|
@ -83,7 +87,7 @@ class Search:
|
||||||
'sec-fetch-dest': 'empty',
|
'sec-fetch-dest': 'empty',
|
||||||
'sec-fetch-mode': 'cors',
|
'sec-fetch-mode': 'cors',
|
||||||
'sec-fetch-site': 'same-origin',
|
'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 = {
|
return post('https://www.phind.com/api/bing/search', headers = headers, json = {
|
||||||
|
@ -102,6 +106,9 @@ class Completion:
|
||||||
codeContext: str = '',
|
codeContext: str = '',
|
||||||
language: str = 'en') -> PhindResponse:
|
language: str = 'en') -> PhindResponse:
|
||||||
|
|
||||||
|
if user_agent == '':
|
||||||
|
raise ValueError('user_agent must be set, refer to documentation')
|
||||||
|
|
||||||
if results is None:
|
if results is None:
|
||||||
results = Search.create(prompt, actualSearch = True)
|
results = Search.create(prompt, actualSearch = True)
|
||||||
|
|
||||||
|
@ -141,7 +148,7 @@ class Completion:
|
||||||
'sec-fetch-dest': 'empty',
|
'sec-fetch-dest': 'empty',
|
||||||
'sec-fetch-mode': 'cors',
|
'sec-fetch-mode': 'cors',
|
||||||
'sec-fetch-site': 'same-origin',
|
'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 = ''
|
completion = ''
|
||||||
|
@ -193,8 +200,6 @@ class StreamingCompletion:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print(cf_clearance)
|
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
'authority': 'www.phind.com',
|
'authority': 'www.phind.com',
|
||||||
'accept': '*/*',
|
'accept': '*/*',
|
||||||
|
@ -209,7 +214,7 @@ class StreamingCompletion:
|
||||||
'sec-fetch-dest': 'empty',
|
'sec-fetch-dest': 'empty',
|
||||||
'sec-fetch-mode': 'cors',
|
'sec-fetch-mode': 'cors',
|
||||||
'sec-fetch-site': 'same-origin',
|
'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',
|
response = post('https://www.phind.com/api/infer/answer',
|
||||||
|
@ -228,6 +233,9 @@ class StreamingCompletion:
|
||||||
codeContext : str = '',
|
codeContext : str = '',
|
||||||
language : str = 'en'):
|
language : str = 'en'):
|
||||||
|
|
||||||
|
if user_agent == '':
|
||||||
|
raise ValueError('user_agent must be set, refer to documentation')
|
||||||
|
|
||||||
if results is None:
|
if results is None:
|
||||||
results = Search.create(prompt, actualSearch = True)
|
results = Search.create(prompt, actualSearch = True)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import phind
|
import phind
|
||||||
|
|
||||||
# set cf_clearance cookie
|
# 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'
|
prompt = 'hello world'
|
||||||
|
|
Loading…
Reference in a new issue