获取 web 服务器 port

Tomcat:

public static String getServerPort(boolean secure) throws AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException {
        MBeanServer mBeanServer = null;
        if (MBeanServerFactory.findMBeanServer(null).size() > 0) {
            mBeanServer = (MBeanServer)MBeanServerFactory.findMBeanServer(null).get(0);
        }  

        if (mBeanServer == null) {
            System.out.println("调用findMBeanServer查询到的结果为null");
            return "";
        }  

        Set<ObjectName> names = null;
        try {
            names = mBeanServer.queryNames(new ObjectName("Catalina:type=Connector,*"), null);
        } catch (Exception e) {
            return "";
        }
        Iterator<ObjectName> it = names.iterator();
        ObjectName oname = null;
        while (it.hasNext()) {
            oname = (ObjectName)it.next();
            String protocol = (String)mBeanServer.getAttribute(oname, "protocol");
            String scheme = (String)mBeanServer.getAttribute(oname, "scheme");
            Boolean secureValue = (Boolean)mBeanServer.getAttribute(oname, "secure");
            Boolean SSLEnabled = (Boolean)mBeanServer.getAttribute(oname, "SSLEnabled");
            if (SSLEnabled != null && SSLEnabled) {// tomcat6开始用SSLEnabled
                secureValue = true;// SSLEnabled=true但secure未配置的情况
                scheme = "https";
            }
            if (protocol != null && ("HTTP/1.1".equals(protocol) || protocol.contains("http"))) {
                if (secure && "https".equals(scheme) && secureValue) {
                    return ((Integer)mBeanServer.getAttribute(oname, "port")).toString();
                } else if (!secure && !"https".equals(scheme) && !secureValue) {
                    return ((Integer)mBeanServer.getAttribute(oname, "port")).toString();
                }
            }
        }
        return "";
    }  

Weblogic参考:

http://blog.csdn.net/yunzhu666/article/details/8662039
时间: 2024-11-09 15:51:54

获取 web 服务器 port的相关文章

CGI原理解析系列之一----CGI如何获取WEB服务器数据

//gcc get_post.c -o get_post.ums; #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> int main(int argc,char *argv[]) { size_t i = 0,n = 0; printf("Content-Type:text/plain\n\n"); char * method =

CGI原理解析系列之三----CGI如何完整获取WEB服务器数据

//模拟了服务器端 httpd 进程启动 cgi的过程, //完整展现了 get,post 方法支持 //gcc -g httpd_all.c -o httpd_all.ums; #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/wait.h> #include <stdlib.h> #define CGI_NAME "get_post.um

04-HTTP协议和静态Web服务器

一.HTTP协议(HyperText Transfer Protocol) 超文本传输协议,超文本是超级文本的缩写,是指超越文本限制或者超链接,比如:图片.音乐.视频.超链接等等都属于超文本.    传输 HTTP 协议格式的数据是基于 TCP 传输协议的,发送数据之前需要先建立连接. 作用: 它规定了浏览器和 Web 服务器通信数据的格式,也就是说浏览器和web服务器通信需要使用http协议. 小结: * HTTP协议是一个超文本传输协议 * HTTP协议是一个基于TCP传输协议传输数据的 *

转:浏览器与WEB服务器工作过程举例

用户通过“浏览器”访问因特网上的WEB服务器,浏览器和服务器之间的信息交换使用超文本传输协议(HTTP--HyperText Transfer Protocol). 例:用户访问东南大学主页 Http://www.seu.edu.cn/seu/welcome.htm,浏览器与服务器的信息交互过程如下: (1) 浏览器向DNS获取web服务器www.seu.edu.cn的IP地址:202.119.24.11 (2) 浏览器与IP地址为202.119.24.11的服务器进行TCP连接,端口为80:

web服务器/cgi/html/css/js

随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S架构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用.本节主要介绍这种应用的开发和移植工作. Web 典型的嵌入式Web服务器有Boa (www.boa.org)和thttpd (http://www.acme.com/software/thttpd/)等,

获取网站Web服务器类型的办法

获取网站Web服务器类型的办法如下: 有些同学老问怎么判断Web服务器.如nmap nc nikto等好多可以的-.要那么多扫描器干嘛 NMAP一个就够了!方法N多,举几个例子吧! nmap [email protected]:~$ nmap -sV -p 80 www.xxoo.com Starting Nmap 5.00 ( http://nmap.org ) at 2010-05-24 19:49 CST Interesting ports on 203.xxx.xxx.1×1: PORT

web服务器获取请求客户端真实地址的方法

服务器获取客户端或者网页的请求,获取IP时需要注意,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr() 方法获取的IP地址是:127.0.0.1 或 192.168.1.10 ,而并不是客户端的真实IP.但在经过代理服务器之后,请求头中都会多一些字段,我们可以根据这些字段来获取真实的IP而不是经

nginx做前端,后端web服务器无法获取真正客户机的ip,解决方法

由于,前端使用了nginx作为代理服务器,代理后端的web服务器和tomcat服务器,发现后端服务器的访问日志记录的客户端ip是nginx反代机器的ip,,所以,以下方法可以让后端服务器获取到真正的客户机ip. 首先在前端nginx服务器的server{  } 里添加: proxy_set_header        Host            $host; proxy_set_header        X-Real-IP       $remote_addr; proxy_set_hea

Atitit. 软件GUI按钮与仪表盘--web服务器区--获取apache配置文件路径 linux and apache的启动、停止、重启

Atitit.   软件GUI按钮与仪表盘--web服务器区--获取apache配置文件路径 linux and apache的启动.停止.重启 可以通过"netstat -anp" 来查看哪些端口被打开.定位到需要的apache...俄要的是80端口映射的apache Ps -aux查看进程命令行参数...三,字有个httpd,没看见参数....查询myusql,是能看见参数了.... 查看linux版本,cenos....查询httpd.conf文件位置... /etc/httpd