我正在尝试用 Java 创建一个简单的 HttpServer 来处理 GET 请求,但是当我尝试获取请求的 GET 参数时,我注意到 HttpExchange 类没有相应的方法。
有人知道读取 GET 参数(查询字符串)的简单方法吗?
这是我的处理程序的样子:
public class TestHandler{
@Override
public void handle(HttpExchange exc) throws IOxception {
String response = "This is the reponse";
exc.sendResponseHeaders(200, response.length());
// need GET params here
OutputStream os = exc.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
..和主要方法:
public static void main(String[] args) throws Exception{
// create server on port 8000
InetSocketAddress address = new InetSocketAddress(8000);
HttpServer server = new HttpServer.create(address, 0);
// bind handler
server.createContext("/highscore", new TestHandler());
server.setExecutor(null);
server.start();
}
原文由 Tibor 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下:
httpExchange.getRequestURI().getQuery()
将返回类似于以下格式的字符串:
"field1=value1&field2=value2&field3=value3..."
所以你可以简单地自己解析字符串,这就是解析函数的样子:
这就是您可以使用它的方式: