java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1349)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1342)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:246)
at com.example.myapplication.cloud_function.Http_Request.networkRequest(Http_Request.java:40)
at com.example.myapplication.cloud_function.Http_Request.access$000(Http_Request.java:14)
at com.example.myapplication.cloud_function.Http_Request$1.run(Http_Request.java:20)
at java.base/java.lang.Thread.run(Thread.java:834)
前面的代码中:
connection.setRequestMethod("GET");
connection.setDoInput(true);
connection.setDoOutput(false);
connection.connect();
DataOutputStream dos=new DataOutputStream(connection.getOutputStream());
String param="hhhh";
dos.writeBytes(param);
将
connection.setDoOutput(false);
改为true即可。
JavaURLConnection输出问题:setDoOutput属性对GET请求的影响
文章讲述了在使用Java的HttpURLConnection进行GET请求时,由于设置了`setDoOutput(false)`导致无法写入数据,修正方法是将此属性设置为true。问题出现在cloudfunction中的网络请求部分。
2741

被折叠的 条评论
为什么被折叠?



