gpt4 book ai didi

java httpserver处理POST请求并读取html表单信息

转载 作者:可可西里 更新时间:2023-11-01 17:07:25 26 4
gpt4 key购买 nike

我正在尝试用 java 编写一个简单的 HTTP 服务器,它可以处理和读取来自 html 表单的 POST 请求

public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/test", new MyHandler());
server.setExecutor(null);
server.start();
}
static class MyHandler implements HttpHandler {

@Override
public void handle(HttpExchange he) throws IOException {
system.out.println("Serving the request");

if (he.getRequestMethod().equalsIgnoreCase("POST")) {
try {
Headers requestHeaders = he.getRequestHeaders();
Set<Map.Entry<String, List<String>>> entries = requestHeaders.entrySet();

int contentLength = Integer.parseInt(requestHeaders.getFirst("Content-length"));
System.out.println(""+requestHeaders.getFirst("Content-length"));

InputStream is = he.getRequestBody();

byte[] data = new byte[contentLength];
int length = is.read(data);

Headers responseHeaders = he.getResponseHeaders();

he.sendResponseHeaders(HttpURLConnection.HTTP_OK, contentLength);

OutputStream os = he.getResponseBody();

os.write(data);
he.close();

} catch (NumberFormatException | IOException e) {
}
}

}
}
}

上面的代码从 html 表单中读取发布数据并在浏览器窗口中给出输出但我想在 java 控制台中显示表单信息,我该怎么做呢?所以请帮助我。

最佳答案

我没有测试它,因为我没有准备好发送 POST 消息的表单,或者不知道如何从头开始创建 HTTP POST 消息。

您可以使用 String 类将已读取的数据打印到控制台:

System.out.print(new String(data));

关于java httpserver处理POST请求并读取html表单信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com