java - 如何通过 java httpClient 查找目标 Web 服务器的任何信息?

标签 java http tomcat jboss httpclient

我使用 java(和 http 客户端,或其他库)。我想向 Web 服务器发出 GET 请求(示例 http://MyDomain:8080/login.jsp)。

现在,我有 <html> .... </html>和任何标题。

如何通过 java httpClient 查找目标 Web 服务器的任何信息(Tomcat 7.0.75、Linux 2016.09 v2.5.0、Java 8.0.233.3 ...)?

我的java代码是:

public class GetWebServerInfo {
    public static void main(String[] args) throws ClientProtocolException,
            IOException {
        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("http://www.mydomain...");
        HttpResponse response = client.execute(request);
        System.out.println(response);
        Header[] headers = response.getAllHeaders();
        for (Header header : headers) {
            System.out.println("" + header);
        }
    }
}

我在控制台中的响应是:

Date: Sun, 12 Feb 2017 00:11:41 GMT
Server: Apache-Coyote/1.1
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Application-Context: application:prod:8080
Last-Modified: Sat, 11 Feb 2017 23:36:56 GMT
Accept-Ranges: bytes
Content-Type: text/html;charset=UTF-8
Content-Length: 3426
Keep-Alive: timeout=60, max=100
Connection: Keep-Alive

我没有Tomcat 8, ....

最佳答案

不同的服务器可能会或可能不会返回 header 来告诉您有关它们自己的信息。例如。

Server:Microsoft-IIS/8.5
X-Powered-By:ARR/3.0, ASP.NET

server:Oracle-Application-Server-11g
x-powered-by:Servlet/2.5 JSP/2.1

你不能要求信息,而且我认为很多服务器不会告诉你他们的操作系统。 “这关你什么事?”

我建议您打印出所有返回的 header 并向不同的服务器发出请求,看看您得到了什么,以及哪些对您有用。

How i can i display all the HTTP Headers when using the DefaultHTTPClient?

关于java - 如何通过 java httpClient 查找目标 Web 服务器的任何信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42182521/

相关文章:

java - 如何在Microstream中正确使用BinaryHandler来存储 volatile 长整型数组?

c# - 如何用c#拦截并更改http请求

http - HTTP/HTTPS 可以使用 UDP 吗?

java - 轴错误无法进行模块寻址

tomcat - 在 Tomcat 上安装 Sonar 和 Jenkins

java - 单击复选框时显示图像数组列表

java - 我应该使用 Java EE 6 中的哪种依赖注入(inject)机制?

java - 不标记事务划分,只是通过session加载一个实体

asp.net-mvc - 如何使用 .NET Core 中间件将 HTML 插入响应主体

tomcat - [Catalina home]/catalina.sh : -Dcom. sun.management.jmxremote=: 未找到 Tomcat(VM 选项)IntelliJ