首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用POST请求将一个值从HTTP客户端发送到HTTP服务器,用Java编写

使用POST请求将一个值从HTTP客户端发送到HTTP服务器,用Java编写
EN

Stack Overflow用户
提问于 2015-10-21 06:54:37
回答 1查看 544关注 0票数 2

我不想做任何复杂的事情:我试图做一个尽可能简单的从客户端到服务器的简单传输。

我知道使用HTTP客户机/服务器的方法是使用POST。

我一直试图得到一个简单的职位要求工作6-7个小时,但却一无所获。因此,我想,是时候停止尝试自己解决这个问题了,在这里发布一个问题:--使用post请求将值从HTTP传输到用编码的HTTP服务器的最简单方法是什么?

我想我知道如何从客户端发送数据,但我找不到任何地方解释如何在服务器上接收数据。

这是我在服务器程序中使用的(通过教程完成的),它只是用来测试来自客户端的GET请求(它成功了):

代码语言:javascript
复制
    public static void main(String args[]) throws IOException {
    HttpServer server = HttpServer.create(new InetSocketAddress(8000),0);
    server.createContext("/test", new testHandler());
    server.setExecutor(null);
    server.start();
}
static class testHandler implements HttpHandler {

    @Override
    public void handle(HttpExchange t) throws IOException {
        String test = "Hello World!";
        t.sendResponseHeaders(200,test.length());
        OutputStream stream = t.getResponseBody();
        stream.write(test.getBytes());
        stream.close();
    }

如何修改上述代码以适应POST请求?(即接受客户端的值)。

EN

回答 1

Stack Overflow用户

发布于 2015-10-21 16:44:29

我想出来了!

我所要做的就是在我的HttpExchange对象的输入流上使用一个HttpExchange(因为我在客户机POST请求中通过输出流发送一个值)。

我刚刚将它添加到我前面提到的服务器代码中:

代码语言:javascript
复制
BufferedReader input = new BufferedReader(new InputStreamReader(t.getRequestBody()));
        int a = input.read();
        String test = "You sent the value "+a+" to the server";

这条消息现在完全打印回我的客户程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33252800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档