Я пытаюсь опубликовать объект json
{"venue":"places, US"}
используя приведенный ниже код-
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 30000);
HttpResponse response;
try {
HttpPost post = new HttpPost(url);
StringEntity se = new StringEntity(json.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
post.setHeader("Accept", "application/json");
post.setHeader("Content-type", "application/json");
response = client.execute(post);
} catch (Exception e) {
Log.e("Client", "sendJson", e);
}
Однако я получаю сообщение об ошибке ниже сервера-
{"description":"Invalid token character ',' in token \"json, application/json\"","errorCode":2000}
Какова причина этой ошибки с сервера. Это из-за некоторых настроек заголовка на стороне сервера или из-за проблемы с кодом запроса, который я вставил выше.
Изменить:
Похоже, эта ошибка происходит из-за установки типа контента 2 раза. После удаления ниже строки
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
ошибка исчезла.
Но когда я удаляю только строку ниже, а не строку, написанную выше, ошибка не устраняется.
post.setHeader("Content-type", "application/json");
Почему удаление только первой строки работает, а когда я удаляю 2-ю, одна ошибка все еще существует, поскольку оба устанавливают тип содержимого.
Также я использовал этот код с обеими строками в других проектах, и он работал в них безо всякой ошибки. Похоже, проблема на стороне сервера, какие настройки на сервере могли быть причиной этой проблемы.
Спасибо