java 当我打开一个http到文件存储时,出现了一些问题

laawzig2  于 2023-06-20  发布在  Java
关注(0)|答案(1)|浏览(117)

我使用下面的代码打开https服务器。当我去我的ip地址:xx.xxx.xxx.xxx zip文件下载正常。但是当我访问ip时:https://xx.xxx.xxx.xxx/,zip文件不会自动下载我是一个新手,所以如果可能的话,请给予我一个例子代码.谢谢你

public class Main implements HttpHandler {
    @Override
    public void handle(HttpExchange exchange) throws IOException {
        Headers h = exchange.getResponseHeaders();
        h.add("Content-Type", "application/octet-stream");
        h.add("Content-Disposition", "attachment; filename=Pack.zip");
        exchange.sendResponseHeaders(200, 0);
        OutputStream os = exchange.getResponseBody();
        Files.newInputStream(Paths.get("C://Pack.zip")).transferTo(os);
        os.close();
    }

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(36), 0);
        server.createContext("/", new Main());
        server.start();
    }
}
pepwfjgg

pepwfjgg1#

我想,你正在寻找的是这个答案here。如here所述,您的服务器可以在不使用证书的情况下工作,但是,您应该提供证书,否则与http相比,https将没有任何效果。
查看第一个链接,它的描述非常详细,你将需要什么,来设置一个简单的Java https-Server。second answer(不是排名最高的)更接近您的代码。

相关问题