1
for(int i=0; i<3; i++)
{
URL url = new URL("http://localhost/network_test.php");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
DataOutputStream wr = new DataOutputStream(
connection.getOutputStream ());
wr.writeBytes("some data to send");
wr.flush();
wr.close();
// prepare request to server
// ...
// recive data from server
connection.disconnect();
}
2
URL url = new URL("http://localhost/network_test.php");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
for(int i=0; i<3; i++)
{
DataOutputStream wr = new DataOutputStream(
connection.getOutputStream ());
wr.writeBytes("some data to send");
wr.flush();
wr.close();
// prepare request to server
// ...
// recive data from server
}
connection.disconnect();
第一个选项很完美!
但为什么我不能使用#2 版本?每次我都必须创建新对象 HttpUrlConnection 吗?为什么?
#2 版本错误:
java.net.ProtocolException: cannot write request body after response has been read
最佳答案
Instances of URLConnection are not reusable: you must use a different instance for each connection to a resource
-- http://developer.android.com/reference/java/net/URLConnection.html
关于java - 每次都必须声明 HttpUrlConnection 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36361719/