URLConnection.setDoOutput ()은 정확히 어떤 영향을 미칩니 까?
거기 setDoOutput()
에서 URLConnection
. 에 따르면 문서 내가해야
출력에 URL 연결을 사용하려면 DoOutput 플래그를 true로 설정하고 그렇지 않으면 false로 설정하십시오.
이제 정확히이 문제에 직면 하고 있습니다. Java 런타임은 요청을 POST
한 번 setDoOutput(true)
호출하고 서버는 GET
요청 에만 응답 합니다. setDoOutput(true)
코드에서 제거하면 어떻게되는지 이해하고 싶습니다 .
이것이 정확히 어떤 영향을 미칠까요? 내가 false
지금 무엇을 할 수 있고 지금은 무엇을 할 수 없습니까? GET
요청 을 수행 할 수 있습니까? 이 방법의 맥락에서 "출력"이란 무엇입니까?
POST 또는 PUT 요청과 같이 요청 본문 을 보내려면 ( output ) 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 )
매개 변수로 값을 doOutput
취하고이 URLConnection 에 대한 필드 의이 값을 지정된 값으로 설정합니다.
입력 및 / 또는 출력에 URL 연결을 사용할 수 있습니다. 출력에 URL 연결을 사용하려면 DoOutput 플래그를 true로 설정하고 그렇지 않으면 false로 설정하십시오. 기본값은 거짓입니다.
참고 URL : https://stackoverflow.com/questions/8587913/what-exactly-does-urlconnection-setdooutput-affect
'program tip' 카테고리의 다른 글
node.js의 BDD 및 TDD? (0) | 2020.11.05 |
---|---|
무한 목록에 대한 왼쪽 및 오른쪽 접기 (0) | 2020.11.05 |
CopyOnWriteArrayList는 어떤 상황에서 적합합니까? (0) | 2020.11.05 |
"조건"동안 "아무것도"하지 않음 (0) | 2020.11.05 |
데이터 목록 레이블을 표시하지만 실제 값을 제출합니다. (0) | 2020.11.05 |