@shadrin_ss
Junior

Какие параметры POST отправить для получения ответа?

Всем привет, уже битый час ломаю голову что сделать что бы сайт выдал список машин.
Вот сам сайт: https://www.auto.de/
Что касается R/URL: https://www.auto.de/service/user-actions/api/v1/st...
Вот ответ:
6054ac2660b62582908087.png

Помогите составить запрос!!!
Вот мой я еще играл с data но профита 0:
headers = {
'accept': 'application/json',
'content-type': 'application/json;charset=UTF-8',
'referer': 'https://www.auto.de/search?MMS_GROUPS[0][MANUFACTURER]=Audi',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',

}

r = requests.post('https://www.auto.de/service/user-actions/api/v1/stats/viewers',  headers=headers)
r = r.json()
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 3
@MEDIOFF
Python Developer
Может для потмоу что для получения ответа с сервера надо использовать GET запрос а не POST?
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
Ну скопируйте данные из браузера и вставьте в код . ctrl+c ctrl+v задача

data = {"carIds":["06a638ab-94b0-4bc7-93c4-d7587b024c77","4cbc03a9-3a4a-478b-8dea-71fe75e2b4ec","7d6a26c9-1e57-4f80-8a06-084bbefaa696","c6f9abd0-d20f-4082-a2bc-1b20f945d0b6","084c175e-e04a-4b47-aaeb-51675284ed84","fa3b0d28-a06d-4bac-bee7-7a56ab5fa829","8c8eba93-f1fa-4f01-ab37-c9a7a2a9f52a","d17b1964-e2a8-4544-afc4-df88ae683ce8","32b960f3-7297-4f90-a06b-6ad8bfe47115","df7b4fc7-f5aa-4a21-9b1b-9700981be14b","3ee17ea7-1654-49b4-9935-4851321fb199","3a3862fe-eb2b-4eec-b640-b9581698ce3b","9be428b5-d035-4384-8936-afa0463e69b3","e0f66af8-eaea-4ba0-a0fe-108fd0cb2aeb","6b9f0304-d4f6-423e-97d0-7799f55a4e0c","90e87e68-37ea-401d-96be-ba9d9783bcd7","d902b121-cb46-4e1e-9b28-53f706ae4b8d","34f18e6c-bf90-42c6-9703-69edc8d4b92b","94baba92-a805-4d8f-a330-2571907afc5e","95f51df1-0746-4bf7-947f-9c9baafae68e"]}

r = requests.post('https://www.auto.de/service/user-actions/api/v1/stats/viewers',  headers=headers, json=data)
r = r.json()

print(r)


И в этом случае не нужно дополнительно передавать content-type и content-length, requests их сам добавит в заголовки
Ответ написан
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Если вы хотите получить json, в заголовке нужно передавать "'content-type': 'application/json'"
В POST нужно передавать в качестве параметра "carIds":
import requests

headers = {'content-type': 'application/json'}

data = '{"carIds":["06a638ab-94b0-4bc7-93c4-d7587b024c77","4cbc03a9-3a4a-478b-8dea-71fe75e2b4ec","7d6a26c9-1e57-4f80-8a06-084bbefaa696","c6f9abd0-d20f-4082-a2bc-1b20f945d0b6","084c175e-e04a-4b47-aaeb-51675284ed84","fa3b0d28-a06d-4bac-bee7-7a56ab5fa829","8c8eba93-f1fa-4f01-ab37-c9a7a2a9f52a","d17b1964-e2a8-4544-afc4-df88ae683ce8","32b960f3-7297-4f90-a06b-6ad8bfe47115","df7b4fc7-f5aa-4a21-9b1b-9700981be14b","3ee17ea7-1654-49b4-9935-4851321fb199","3a3862fe-eb2b-4eec-b640-b9581698ce3b","9be428b5-d035-4384-8936-afa0463e69b3","e0f66af8-eaea-4ba0-a0fe-108fd0cb2aeb","6b9f0304-d4f6-423e-97d0-7799f55a4e0c","90e87e68-37ea-401d-96be-ba9d9783bcd7","d902b121-cb46-4e1e-9b28-53f706ae4b8d","34f18e6c-bf90-42c6-9703-69edc8d4b92b","94baba92-a805-4d8f-a330-2571907afc5e","95f51df1-0746-4bf7-947f-9c9baafae68e"]}'

response = requests.post('https://www.auto.de/service/user-actions/api/v1/stats/viewers', headers=headers, data=data)

print(response.text)

Ну перед этим нужно еще получить carIds.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы