Как вытащить время сервера из ответа, который пришел на 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();
}
Ответ
В 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.
}
Комментариев нет:
Отправить комментарий