2015-04-07 3 views
4

мое приложение уже давно работает, и все работает очень хорошо! сервер обновлялся недавно с http на https, с тех пор, как я получил ошибку 400 BAD INPUT при каждом вызове сервера. После исследования вопроса в некоторые болезненные часы я узнал, что если я отправлю запрос с пустыми заголовками, просьба PASS! без ошибок. Но мне нужны эти заголовки!Android Volley HTTPS Headers throws 400

также, в обоих прошивкой и в моих проверок в POSTMAN заголовки идут в хорошо поэтому проблема должна быть в клиенте я думаю ..

Я посылаю мои заголовки Переопределение метода getHeaders.

у кого была эта проблема раньше? любая идея, как это исправить?

есть мой код для заголовков:

   @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       HashMap<String, String> headers = new HashMap<String, String>(); 
       headers.put("Content-Type", "application/json; charset=utf8"); 
       headers.put("AppVersion", BaseApplication.getCurrentDevice().getAppVersion()); 
       headers.put("DeviceType", BaseApplication.getCurrentDevice().getDeviceType().toString()); 
       return headers; 
      } 

Большое спасибо!

+0

добавить только 'приложение/json' –

+0

уже пробовал, все еще получаю 400 ошибку. = \ – JozeRi

+0

попробуйте добавить 'Rest Client Extension' в Firefox или chrome и попробуйте –

ответ

2

ОК, так что для всех, у кого есть эта проблема, вот объяснение.

Я изучил свою проблему и выяснил, что моя проблема в конце концов не была заголовком!

Я попытался сузить его и выяснил, что он дает мне 400 ошибок при запросах POST с телом. , очевидно, после перехода на HTTPS залп посылает пустые тела. , и я почему-то не понял.

В конце я нашел свою проблему. В заголовках мне нужно было добавить «charset = utf-8» и да, в приведенном выше коде у меня есть charset, , но я написал «utf8», и, видимо, в HTTPS ему нужно «utf-8» !! это немного «...» ... все!

снова, мое приложение работает без этого «-» уже 3 месяца и без проблем, по какой-то причине после перехода на HTTPS utf8 необходимо изменить на «utf-8»!

надеюсь, что это поможет кому-то.

вы можете найти более подробную информацию об этой проблеме в этой ссылке:

http://envyandroid.com/android-volley-empty-parameters/

JozeRi

Смежные вопросы