РЕДАКТИРОВАТЬ:
0x20 символов
Символ пробела, который обозначает пробел между словами, созданный пробелом клавиатура, представленная кодом 0x20 (шестнадцатеричный), считается непечатным графическим элементом c (или невидимым графическим элементом c), а не управляющим символом.
Скопируйте следующий код:
public interface RetrofitInterface {
@Headers({"Content-type: application/json" , "Accept: application/json"})
@Streaming
@POST("https://xxx.newtotelapps.fr:5000/device/listEvent")
Call<JSONObject> getListEvent(@Body JSONObject jsonObject);
}
вы ошибочно оставляете пробел после " Accept: ". Сделайте это " Примите: "
Решение для ошибки: java.io.IOException: unexpected end of stream on https://xxx.newtotelapps.fr:5000/...
Используйте Google Gson
Библиотека, добавьте ее в build.gradle
:
dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
}
Использование: import com.google.gson.JsonObject;
Вместо: import org.json.JSONObject;
Надеюсь, вы получите его .
В другом случае может возникнуть ошибка:
Вам необходимо установить Connection:close
в заголовке.
@Headers({"Content-type: application/json" , "Accept: application/json", "Connection: close"})
Также ошибка может возникнуть в 3-м случае:
с проблемой на стороне сервера ... вам нужно установить header('Content-Length: '.$length);
в сценарии на стороне сервера