Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Как узнать время сервера из присланного ответа POST запроса?

#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. }

Комментариев нет:

Отправить комментарий