gpt4 book ai didi

java - 优化 Android 中的 HttpURLConnection

转载 作者:可可西里 更新时间:2023-11-01 16:35:17 27 4
gpt4 key购买 nike

这个问题困扰着我:

HttpURLConnection con = (HttpURLConnection)new URL(url).openConnection();
con.setRequestMethod("HEAD");
if (con.getResponseCode()!=200 ){dosomething()}

这是设置请求方法的正确方法,还是已经太晚了,因为我调用了 URL.openConnection() 并且它已经使用默认的 GET 建立了连接?

我不能在与 openConnection 相同的行中调用 setRequestMethod("HEAD"),因为它返回的是 URLConnection,而不是 HttpURLConnection。

那么在知道默认值为 GET 的情况下如何确保该方法始终为 HEAD?

我应该只使用 HttpClient 吗?

最佳答案

这是正确的方法。

调用 openConnection() 实际上并没有做任何事情。在您请求服务器响应中返回的内容之前,请求不会“提交”(也就是说,没有任何内容发送到服务器),例如响应的主体 (con.getInputStream())、状态 (con.getResponseCode()) 或其他一些响应 header 。这让您有时间在 HttpUrlConnection 上设置选项,例如您是否打算发送请求正文(即 POST)、设置请求方法等。

顺便说一句,您可以将方法设置为“在同一行”,但在同一行是没有意义的:openConnection() 发送请求方法,或者它没有。之后发生的方法调用不是一个因素,无论它们在哪一行。

关于java - 优化 Android 中的 HttpURLConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3661807/

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