#java #android #http #post #время
Как вытащить время сервера из ответа, который пришел на POST запрос? Для отправки POST запроса с Android используется библиотека OKHTTP. String post(String...url) throws IOException { FormEncodingBuilder form = new FormEncodingBuilder(); RequestBody formBody =form.build(); Request request = new Request.Builder() .header("Cookie", x) .url(url[0]) .post(formBody) .build(); Response response = client.newCall(request).execute(); return response.body().string(); }
Ответы
Ответ 1
В Response есть параметр Date, в котором передается текущее время сервера. Пример Response Headers: Date: Fri, 13 Nov 2015 23:24:28 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Но в вашем методе post() возвращается только body, тогда как Date хранится в headers. Соответственно пример кода для получения даты: Date post(String...url) throws IOException { FormEncodingBuilder form = new FormEncodingBuilder(); RequestBody formBody =form.build(); Request request = new Request.Builder() .header("Cookie", x) .url(url[0]) .post(formBody) .build(); Response response = client.newCall(request).execute(); //return response.body().string(); //Возвращается только Body. return response.headers().getDate("Date"); //Возвращаем объект Date. }
Комментариев нет:
Отправить комментарий