Только что нашел привязку Cover1624/curl4j для Java и настроил простой запрос на отправку с помощью CURL.curl_easy_setopt(handle, CURL.CURLOPT_POSTFIELDS, SOMEJSON) и
CURL.curl_easy_setopt(handle, CURL.CURLOPT_POSTFIELDSIZE, SOMEJSON.length() ).
Похоже, что тело запроса иногда повреждается. Он пуст или содержит случайные слова. Я проверил это через Wireshark.
Как будто это переполнение(?) или другая ошибка управления памятью.
Интересно, как опубликовать полные данные с помощью CURLOPT_POSTFIELDS и Curl4j.
Сейчас я безнадежен, потому что это единственный http-клиент, который отправляет его в одном TCP-сегменте. Все обычные http-клиенты Apache или okhttp отправляют заголовок и тело в отдельных сегментах. Встроенные устройства, к которым я подключался, просто не принимают его.
Когда я использую Curl через терминал, все проблемы исчезают.
Подробнее здесь: https://stackoverflow.com/questions/790 ... quest-body