[英]Java: Cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
[英]What exactly does URLConnection.setDoOutput() affect?
如果要發送( 輸出 )請求主體(例如,使用POST或PUT請求),則需要將其設置為true。 使用GET,您通常不會發送身體,因此您不需要它。
發送請求正文本身是通過連接的輸出流完成的:
conn.getOutputStream().write(someBytes);
setDoOutput(true)
用於POST
和PUT
請求。 如果它是false
那么它是用於使用GET
請求。
添加注釋,如果你有一個持久的連接,並且你發送了GET和POST,這就是我的工作:
if (doGet) { // some boolean
con.setDoOutput(false); // reset any previous setting, if con is long lasting
con.setRequestMethod("GET");
}
else {
con.setDoOutput(true); // reset any previous setting, if con is long lasting
con.setRequestMethod("POST");
}
並且為了避免連接持久,請每次關閉它。
if (doClose) // some boolean
con.setRequestProperty("Connection", "close");
con.connect(); // force connect request
public void setDoOutput( boolean dooutput )
它將一個值作為參數,並將此URLConnection的doOutput
字段的此值設置為指定值。
URL連接可用於輸入和/或輸出。 如果您打算將URL連接用於輸出,請將DoOutput標志設置為true,否則設置為false。 默認值為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.