Привет! Я хочу использовать GET-запрос следующего вида, чтобы получить все категории на моём сервере Discourse.
resp = requests.get(base_url + "/categories.json", headers={"Api-Key": clef_api, "Api-Username": "system"}, param={'include_subcategories': 'true'} ,auth=auth)
assert(resp.status_code == 200)
К сожалению, поскольку запрос возвращает описания всех текущих категорий, я получаю ошибку HTTP 413 (Payload Too Large). Поэтому я хотел бы иметь возможность исключить получение описаний категорий, чтобы уменьшить объём передаваемых данных.
Можете ли вы мне помочь? Спасибо
pfaffman
(Jay Pfaffman)
29.Июнь.2022 08:40:38
2
Думаю, вам нужно использовать params, а не data.
GET always has a query string and never has post data (that is why you are getting 413 payload too large, it does not expect any). When querying data from a server without making a change you’ll (almost) always use GET and not POST. So you should use params= instead of data=.
I think the docs for this specific API call are badly phrased (“Request Body schema ” really indicates POST data) so I am moving this to bug and you don’t need to pay me anything.
import requests
import json
def get_post_…
Это сработало, лол, спасибо!!
pfaffman
(Jay Pfaffman)
29.Июнь.2022 12:41:05
4
Рад, что это помогло! Сам я тоже был в недоумении. Спасибо @RGJ за ясное объяснение.