URLConnection.setDoOutput() 究竟影响什么?

2022-08-31 11:09:56

在.根据文档,我应该setDoOutput()URLConnection

如果您打算将 URL 连接用于输出,请将 DoOutput 标志设置为 true;如果不是,则设置为 false。

现在我正好面临这个问题 - Java运行时将请求转换为一次被调用,服务器仅响应请求。我想了解如果我从代码中删除它会发生什么。POSTsetDoOutput(true)GETsetDoOutput(true)

这究竟会产生什么影响?假设我将其设置为 - 我现在可以做什么,现在不能做什么?我能够执行请求吗?在此方法的上下文中,什么是“输出”?falseGET


答案 1

如果要发送(输出)请求正文(例如,使用 POST 或 PUT 请求),则需要将其设置为 true。使用GET,您通常不会发送尸体,因此您不需要它。

发送请求正文本身是通过连接的输出流完成的:

conn.getOutputStream().write(someBytes);

答案 2

setDoOutput(true)用于 和 请求。如果是,则用于使用请求。POSTPUTfalseGET


推荐