Как удалить информацию о сервере / программном обеспечении из ответа http-клиента apache

#java #xampp #apache-httpclient-4.x #apache-httpcomponents #apache-httpclient-5.x

#java #xampp #apache-httpclient-4.x #apache-httpcomponents #apache-httpclient-5.x

Вопрос:

Я написал ниже пример программы для проверки ответа http

     public class CloseableHttpClientExmpl {

    public static void main(String[] args) {
        CloseableHttpClient client =HttpClients.custom().disableContentCompression().build();
        HttpGet request = new HttpGet("http://localhost:8080/index.php");
        CloseableHttpResponse response=null;
        try {
            response = client.execute(request);
            System.out.println(response);
        } catch (ClientProtocolException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
}
  

Вывод / ответ выглядит следующим образом

 HttpResponseProxy{HTTP/1.1 200 OK [Date: Thu, 11 Apr 2019 12:48:38 GMT, Server: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.8, X-Powered-By: PHP/7.0.8, Content-Length: 79, Keep-Alive: timeout=5, max=99, Connection: Keep-Alive, Content-Type: text/html; charset=UTF-8] ResponseEntityProxy{[Content-Type: text/html; charset=UTF-8,Content-Length: 79,Chunked: false]}}
  

Теперь я хочу знать, как я могу удалить информацию о программном обеспечении, как показано ниже, из этого ответа

 Server: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.8, X-Powered-By: PHP/7.0.8
  

Ответ №1:

Сведения о сервере, упомянутые ниже, отправляются сервером, т.Е. localhost в вашем случае.

 Server: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.8, X-Powered-By: PHP/7.0.8
  

Вы можете отключить сведения о сервере, отправляемые как часть ответа, в конфигурации вашего сервера. Для Windows server, используя https://www.saotn.org/remove-iis-server-version-http-response-header /

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

1. Есть ли способ добиться того же с помощью программирования?

2. @ManojKumarDhakad Эти значения являются заголовками в ответе — их нет в теле ответа. Как сказал сауумум, чтобы остановить отправку их сервером, вам необходимо изменить конфигурацию на сервере. Если на стороне клиента — в вашем коде — вас не интересуют эти значения, тогда просто игнорируйте часть заголовка ответа и посмотрите на тело.