Как избежать ошибки 500 по API?
Написал скрипт в python
вот код, суть такова, что если в pageSize=100 установить значение 100 то сайт выдает ошибку 500. Если значение оставить деффолным 6, или скажем 10 то ответ пишется в json. Вот не могу понять это сайт рубит запрос или какой то лимит стоит на получение? Хотя я знаю что в этой категории 7600 наименований, скрин ниже. Вот сама ссылка - https://www.autodoc.ru/catalogs/universal?categoryId=780
import requests
from requests.structures import CaseInsensitiveDict
import json
url = "https://cataloguniversal.autodoc.ru/api/catalogs/universal/products/withprice/780?pageSize=100&pageNumber=1&clientId=4914481"
headers = CaseInsensitiveDict()
headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
headers["Accept"] = "application/json, text/plain, */*"
headers["Accept-Language"] = "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
headers["Authorization"] = "Bearer"
headers["Content-Type"] = "application/json"
headers["Origin"] = "https://www.autodoc.ru"
headers["Connection"] = "keep-alive"
headers["Referer"] = "https://www.autodoc.ru/"
headers["Sec-Fetch-Dest"] = "empty"
headers["Sec-Fetch-Mode"] = "cors"
headers["Sec-Fetch-Site"] = "same-site"
headers["Pragma"] = "no-cache"
headers["Cache-Control"] = "no-cache"
headers["TE"] = "trailers"
data = '{"filters":[],"order":1,"mark":0}'
resp = requests.post(url, timeout=(5, 30), headers=headers, data=data)
with open('result.json', 'w') as file:
json.dump(resp.json(), file, indent=4, ensure_ascii=False)
print(resp.status_code)
Ответы (1 шт):
Это означает, что в логике кода сайта, обрабатывающего ваш запрос, некорректно обрабатывается именно такой набор параметров (проще говоря - бага). При таком наборе там возникает эксепшен (какой именно - нам не известно) и не обрабатывается в самом коде.
Эксепшен прокидывается с уровня бизнес-логики на уровень http-сервера, и последний (не зная ничего о бизнес логике и не имея механизмов определить с чем связана проблема) говорит "на этом мои полномочия всё, вот тебе Internal Server Error".
