При запуске моего приложения с помощью Eclipse Temurin JDK 21.0.7 для Windows cardmarket.com отвечает 200 OK на следующий HTTP-запрос:
Код: Выделить всё
HEAD https://www.cardmarket.com/en/Magic
Accept: */*
Accept: text/html
Accept-Charset: UTF-8
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
User-Agent: CardMarket Analyzer (Proto)
Host: www.cardmarket.com
Я использую пакет Apache HttpClient (
Код: Выделить всё
org.apache.httpcomponents.client5.httpclient5Код: Выделить всё
@Bean
public RestClient restClient(ObjectMapper jsonMapper) {
return RestClient.builder()
.requestFactory(new HttpComponentsClientHttpRequestFactory())
.messageConverters(List.of(
new MappingJackson2HttpMessageConverter(jsonMapper),
new StringHttpMessageConverter(StandardCharsets.UTF_8)))
.defaultHeaders(httpHeaders -> {
httpHeaders.addAll(HttpHeaders.ACCEPT, List.of(MediaType.ALL_VALUE, MediaType.TEXT_HTML_VALUE));
httpHeaders.add(HttpHeaders.ACCEPT_CHARSET, StandardCharsets.UTF_8.name());
httpHeaders.add(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate, br");
httpHeaders.add(HttpHeaders.CONNECTION, "keep-alive");
httpHeaders.add(HttpHeaders.USER_AGENT, "CardMarket Analyzer (Proto)");
})
.build();
}
Я не могу воспроизвести поведение своего приложения Windows с помощью cURL, но могу воспроизвести его с помощью Postman. Оба ответа 200 OK и 403 FORBIDDEN имеют заголовок Vary: Accept-Encoding.
Хочу подчеркнуть: я запускаю одну и ту же сборку на обеих машинах, но поведение все равно разное.
Я предполагаю, что, поскольку запросы используют HTTPS, поведение не может быть различным, если только запросы не различаются.
Чего мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ws-jvm-and
Мобильная версия