Почтовый запрос Android HTTP к IIS 7 возвращает неверный запрос (недопустимое имя заголовка)

У меня есть веб-сервис MVC 3, размещенный на экземпляре Amazon EC2. У меня есть приложение для Android, которое отправляет почтовый запрос в службу. Однако возвращается неверный запрос 400, в котором говорится, что имя заголовка недействительно. Я проверил журналы на сервере, и запрос не поступает в IIS. В журнале ошибок HTTP есть только эти записи:

2011-10-07 02:01:05 xxx.xxx.xx.xx xxxxx xx.xxx.xx.xx 80 HTTP/1.1 POST /API/UserAccount/Login 400 — Заголовок —

Не совсем уверен, что происходит. Я протестировал этот веб-сервис на сервере разработки, который поставляется с Visual Studio, и проблем не возникло. Вот код, который создает почтовый запрос на Android:

HttpPost post = new HttpPost(LOGIN_URL);
StringEntity se = new StringEntity(json);
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
    "application/json"));
post.setEntity(se);
response = client.execute(post);

Любое понимание ценится.

Спасибо.


person Mike L.    schedule 07.10.2011    source источник


Ответы (1)


Измените способ настройки заголовков Http. Вот обновленная версия вашего кода:

HttpPost post = new HttpPost(LOGIN_URL);
StringEntity se = new StringEntity(json);
se.setContentEncoding("UTF-8");
se.setContentType("application/json");
post.setEntity(se);
response = client.execute(post);
person spatulamania    schedule 07.10.2011
comment
Я почти потратил все утро, а потом нашел его. Очень-очень спасибо. - person Khobaib; 07.09.2013
comment
Что здесь происходит технически? Я управляю сервером, но не клиентом, и клиент видит это, но я не вижу проблемы с заголовками, которые я получаю от них. - person Chris; 28.08.2015