Выполнение запроса с одинаковым URL-адресом и другим заголовком Accept возвращает предыдущий ответ из кэша okhttp.Клиент OkHttp не принимает заголовок Accept
Это означает, что первый запрос выполнен для данных приложения/json, второй запрашивает application/xml. Поэтому клиент возвращает данные json из кеша вместо того, чтобы делать xml вверх.
Например, запрос GET: http://example.com с заголовком/json возвращает заголовок Cache-Control и полезную нагрузку json. Отклик кэшируется во внутреннем кэше HTTP. Второй запрос выполнен в окне управления кешем до http://example.com с заголовком application/xml. В этом случае Okhttp возвращает ту же полезную нагрузку json из кеша, а не в полезную нагрузку xml.
Builder builder = new Builder().url("https://httpbin.org/headers").header("accept", header);
Неужели кто-нибудь испытал эту проблему уже?
Возможно, покажите нам короткую часть кода и ее выход, демонстрируя проблему? – slim
https://gist.github.com/gpor89/c69c795b334af5ff63cef6468222a01e, но проходит тест для этого ресурса, потому что сайт не возвращает заголовки кэша. – Gregor
Не на Gist. Вопросы должны быть самодостаточными. Вам не нужен весь код, достаточно, чтобы люди могли видеть, что вы делаете, и показываете свой результат. – slim