gpt4 book ai didi

java - connection.setRequestProperty 和明确写入 urloutputstream 是一样的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:47 24 4
gpt4 key购买 nike

URL url = new URL("http://www.example.com/comment");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");

connection.setRequestProperty(key, value);

一样
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write("key=" + value);
writer.close();

?

如果不对,请指正。

最佳答案

不,不是。 URLConnection#setRequestProperty() 设置请求 header 。对于 HTTP 请求,您可以找到所有可能的 header here .

writer 只是编写请求body。如果 POST 包含 urlencoded 内容,您通常会将查询字符串写入请求正文,而不是像 GET 那样将其附加到请求 URI。

就是说,在 HTTP URI 的情况下,connection.setDoOutput(true); 已经隐式地将请求方法设置为 POST(因为它隐式需要写入然后请求正文),因此之后执行 connection.setRequestMethod("POST"); 是不必要的。

关于java - connection.setRequestProperty 和明确写入 urloutputstream 是一样的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2560150/

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