我需要确定Java中端口80上运行的Web服务器(IIS,Apache,Jetty)。
是否有任何解决方案可以通过端口80获取信息?
Thanx和reguards
的Stefan
答案 0 :(得分:6)
你可以问它 - 发出一个HEAD请求,例如在端口80上打开TCP连接,然后发送
HEAD / HTTP/1.0
或
HEAD / HTTP/1.1
Host: the.server.hostname.com
并且回复应包含服务器行
Server: Microsoft-IIS/5.1
等等。
但是,如果你想问OS哪个进程,我不知道Java可移植的方式。您将在Linux上运行netstat -ano
或(-anp
)的命令行,它将为您提供在端口80上侦听的进程号,然后您可以查看确切地知道哪个服务器具有该端口
答案 1 :(得分:3)
查看Server:
HTTP header。它通常包含这样的内容:
Server: Apache/2.2.10 (SpaceNet) PHP/5.2.6
当然,服务器可以发送它喜欢的任何内容,或者根本不发送任何内容。