Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从HttpExchange获取URL?_Java_Html_Webserver - Fatal编程技术网

Java 如何从HttpExchange获取URL?

Java 如何从HttpExchange获取URL?,java,html,webserver,Java,Html,Webserver,我有这个自定义HTTP服务器,但我希望能够基于不同的URL提供不同的内容 如何从HttpExchange获取完整URL 例如: www.abcdefg.com/index.html将为abcdefg提供内容 www.qrstuvxyz.com/index.html将为qrstuvxyz提供内容 类似地,rawrrawr.abcdefg.com/index.html将为abcdefg提供rawrrawr部分下的内容 或en.abcdefg.com提供英语、cn.abcdefg.com提供中文、fr

我有这个自定义HTTP服务器,但我希望能够基于不同的URL提供不同的内容

如何从HttpExchange获取完整URL

例如:

www.abcdefg.com/index.html将为abcdefg提供内容

www.qrstuvxyz.com/index.html将为qrstuvxyz提供内容

类似地,rawrrawr.abcdefg.com/index.html将为abcdefg提供rawrrawr部分下的内容

或en.abcdefg.com提供英语、cn.abcdefg.com提供中文、fr.abcdefg.com提供法语等。

如第14.23章所定义,“主机”标题应包含该信息

所以你应该可以通过

 public void handle(final HttpExchange t) throws IOException {               
        String requestedURL = "http://"+t.getRequestHeaders().getFirst("Host") + t.getRequestURI();
        System.out.println(requestedURL);           
        URL u = new URL(requestedURL);
        System.out.println("Host: " + u.getHost());
        System.out.println("Port: " + u.getPort());
        //[...]
 }