gpt4 book ai didi

android - HttpURLConnection:java.lang.IllegalStateException:已经连接

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:03 25 4
gpt4 key购买 nike

我正在尝试使用 HttpURLClient 将一些 POST 数据发送到使用 HttpRestClient 类的服务器,如下所示。执行时

conn.setDoInput(true);

我明白了

java.lang.IllegalStateException: Already connected

我卸载了应用程序,但仍然出现同样的错误。

在我见过的所有示例中,openConnection 在 setDoInput 之前被调用。如果,正如它的名字所暗示的那样,openConnection 打开一个连接,它不应该在 `setDoInput 之前使用,对吧?我错过了什么?

也许在某些时候它在执行disconnect 之前崩溃了。这可能是原因吗?如果是这样,我该如何断开旧连接?

public class HttpRestClient {
static public int post(String urlStr, List<NameValuePair> data){

HttpURLConnection conn = null;

try {

URL url = new URL(urlStr);


conn = (HttpURLConnection) url.openConnection();

conn.setDoInput(true);
conn.setDoOutput(true);

conn.setRequestMethod("POST");

OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getQuery(data));
writer.flush();
writer.close();
os.close();

InputStream is = conn.getInputStream();

String dude = readIt(is);

return 1;

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
}
finally {
if(conn!=null) conn.disconnect();
}
}
}

最佳答案

这可能是由于在您的 IDE 中调试时的监视。参见 this answer .它发生在我身上,很难发现。

关于android - HttpURLConnection:java.lang.IllegalStateException:已经连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23738940/

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