У меня есть следующий оператор curl, который предоставляет ответ в формате json:
curl 'https://www.accenture.com/nl-en/searchbykeywords.search' \
-H 'authority: www.accenture.com' \
-H 'accept: application/json, text/javascript, */*; q=0.01' \
-H 'dnt: 1' \
-H 'x-requested-with: XMLHttpRequest' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36' \
-H 'content-type: application/json; charset=UTF-8' \
-H 'origin: https://www.accenture.com' \
-H 'sec-fetch-site: same-origin' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-dest: empty' \
-H 'referer: https://www.accenture.com/nl-en/search/results?srk=covid&pg=1&sb=0&filter=' \
-H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \
-H 'cookie: eVar46=covid' \
--data-binary '{"k":"covid","f":1,"s":10, "sb":0, "ss":"" ,"cs":"true"}' \
--compressed
Но когда я пытаюсь повторить это через Python с помощью модуля запросов I ' я не получаю обратно json, который вызывает ошибку декодирования.
import requests
with requests.Session() as session:
header = {
'authority': 'www.accenture.com',
'accept': 'application/json, text/javascript, */*; q=0.01' ,
'dnt': '1',
'x-requested-with': 'XMLHttpRequest',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36',
'content-type': 'application/json; charset=UTF-8' ,
'origin': 'https://www.accenture.com' ,
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors' ,
'sec-fetch-dest': 'empty',
'referer': 'https://www.accenture.com/nl-en/search/results?srk=covid&pg=1&sb=0&filter=',
'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8',
'cookie': 'eVar46=covid'
}
data = '{"k":"COVID","f":1,"s":10, "sb":0, "ss":"", "cs":"true"}'
search_url = 'https://www.accenture.com/nl-en/searchbykeywords.search'
r = session.post(search_url, headers=header, data=data)
data = r.json()
print(data)
Не могли бы вы мне помочь, поскольку доступные ответы не дали мне работающего решения. Спасибо