Java Get Post

2025年5月7日 | 阅读7分钟

超文本传输协议 (HTTP) 支持许多方法来在服务器上执行任务或从服务器接收数据。 Java GetPost 方法是 HTTP 中用于发送和接收服务器数据的两种主要方法。尽管这两种方法都可以用于发送或检索服务器数据,但它们之间存在一些主要区别。

GET 方法是什么?

GET 方法用于以名称或值对的形式将表单数据附加到 URL。如果我们使用 GET,URL 的长度将保持有限。它有助于用户提交书签结果。它更适合不需要任何安全性或包含图像或 Word 文档的数据。

POST 方法是什么?

POST 是 HTTP 支持的一种方法,表示 Web 服务器接受消息正文中包含的数据。它通常由万维网用于将用户生成的数据发送到 Web 服务器或在您上传文件时使用。

让我们创建 Java 程序,看看如何使用 GET 和 POST 请求。

Java GET 请求程序

以下程序演示了如何向服务器发出 GET 请求。

文件名: JavaGETExample.java

输出

JSON String Result is: 
{
    "data": {
        "id": 3,
        "name": "true red",
        "year": 2002,
        "color": "#BF1932",
        "pantone_value": "19-1664"
    },
    "support": {
        "url": "https://reqres.in/#support-heading",
        "text": "To keep ReqRes free, contributions towards server costs are appreciated!"
    }
}

解释: 让我们逐行理解代码。

在上面的代码中,我们通过其 URL 获取 API 或服务器。

HTTP GET 请求以接收其内容。

在建立连接时,我们会获得响应代码。响应代码决定连接是否已建立。

成功建立连接后,我们将打开 InputStreamReader 和 BufferedReader 来读取 API 或服务器发送的任何内容。

使用 while 循环,从服务器读取数据并存储在 String 变量中。

存储响应后,关闭 BufferedReader 并断开连接。

最后,使用 print 语句将存储的响应显示在控制台上。

要测试 URL 是否正常工作,也可以借助 POSTMAN 工具。 POSTMAN 工具的以下快照显示了相同的内容。

在 Header 中发送数据

Java Get Post

当我们发送上述请求时,服务器将以下响应返回给用户。

Java Get Post

观察 URL,我们在 URL 中发送了信息,即 id = 3,这是可见的。它显示了为什么不能使用 GET 请求发送安全数据。

Java POST 请求程序

以下程序演示了如何向服务器发出 POST 请求。

文件名: JavaPOSTExample.java

输出

{
"userId": 199,
 "id": 101,
 "title": "About JavaTpoint",
 "body": "JavaTpoint is a good site to learn Java. One must visit the site."
}
The POST Request Response Code:  201
The POST Request Response Message: Created
Response from the server is:
{
"userId": 199,
 "id": 101,
 "title": "About JavaTpoint",
 "body": "JavaTpoint is a good site to learn Java. One must visit the site."
}

解释: 在上面的程序中,我们向服务器发送了 POST 请求。我们通过 URL 推送了数据。

在 POST 请求中,我们正在向服务器发送一条消息,该消息显示在上面程序中提到的 URL 中。 OutputStream 对象有助于将内容写入服务器。之后,服务器通过响应代码确认用户数据。然后,进行从服务器读取。这与我们在 GET 请求中所做的相同。请注意,消息内容发送在请求体中。为了实现这一点,代码中使用了以下语句。

上面的语句未在 GET 请求中使用,因为我们仅接收服务器信息。

让我们使用 POSTMAN 工具验证这一点。

以下快照显示了我们发送到服务器的输入。请注意,我们已选择Body选项卡,并且消息内容的格式为 JSON。此外,URL 中看不到消息内容,这表明 POST 比 GET 更安全。

在我们的案例中,我们已发布以下数据

Java Get Post

以下快照显示了来自服务器的响应。

Java Get Post

响应代码为 201,与程序输出中显示的相同。

GET 和 POST 之间的区别

下表显示了 GET 和 POST 之间的主要区别。

GetPost
在 GET 请求的情况下,数据发送在 header 中。因此,使用 Get 请求可以发送有限量的数据。在 POST 请求的情况下,数据发送在 body 中。因此,使用 POST 请求可以发送大量数据。
GET 从 URL 获取请求。因此,数据是可见的,不安全。因此,不应将敏感信息与 GET 请求一起使用。在 POST 方法的情况下,数据在 POST 请求的 body 中传输,数据不可见,因此更安全。因此,POST 请求可以与敏感信息一起使用。
可以收藏 GET 请求。无法收藏 POST 请求。
GET 请求不会更改服务器的状态。因此,GET 请求始终是幂等的。POST 请求会更改服务器的状态。因此,POST 请求不是幂等的。
GET 请求效率更高。POST 请求效率较低。
GET 请求保留在浏览器历史记录中。POST 请求不保留在浏览器历史记录中。