2017-02-11 12 views
0

私はjava(とhttpクライアント、または他のlib)を使用します。私はWebサーバー(サンプルhttp://MyDomain:8080/login.jsp)にGETリクエストをしたいと思います。java httpClientによるターゲットWebサーバーの情報の検索方法は?

ここでは、<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, ....

+0

TomcatのHTTPコネクタであるApache-Coyote/1.1があります。だから、それはあなたがそれはtomcatだと推測することができます – slipperyseal

+0

しかし、それはあなたにTomcatのバージョンまたは本当に多くを伝えるわけではありません。しかし私が私の答えで言及したように、この情報は発信者が権利を持つようなものではありません。 – slipperyseal

答えて

1

異なるサーバーを持っていませんあなた自身について話しています。例えば。

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 

あなたは情報を要求することはできませんし、私は多くのサーバーがそのオペレーティングシステムについてあなたを伝えることになるとは思いません。 "なぜそれがあなたのビジネスのどれですか?"

返されたすべてのヘッダーを印刷して、別のサーバーに要求し、入手したものと何が役立つのかを確認することをお勧めします。

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

関連する問題