API-запросы Python.post и длинные строки - PullRequest
0 голосов
/ 04 мая 2018

Кто-нибудь имеет опыт работы с командой questions.post в python? У меня есть проблема с API, использующим эту команду, но только с очень длинными строками в качестве входных данных (то есть во входных данных json аргумента 'params'). Однако для более коротких строк команда работает просто отлично. Кто-нибудь знает, есть ли какие-либо ограничения на request.post относительно длины входной строки?

редактирование: Код выглядит следующим образом:

freetext  = "very long text"
freetextbody = {"free_text": freetext} 
response.textsearch = requests.post(url, params = freetextbody, headers=headeruser)

Однако API не является открытым доступом. Так что я думаю, что код действительно не очень помогает здесь. Дело в том, что строка 'freetext' содержит очень длинный текст, что приводит к ошибке:

ConnectionError: ('Connection aborted.', BadStatusLine('<html>\r\n',)). 

Ошибка на моей стороне, а не на стороне провайдера API, то есть, похоже, не работает python, request.post или что-то еще. К сожалению, я понятия не имею, в чем здесь проблема.

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 05 мая 2018

При params ваш free_text фактически передается как строка запроса. Используйте data, чтобы опубликовать его как данные формы. Строка запроса ограничена по размеру на стороне сервера некоторым произвольным длинным значением. Это не ограничение requests.

...