programing

URL Connection이란 정확히 어떤 것입니까?setDoOutput()이 영향을 미칩니까?

minecode 2022. 10. 22. 23:42
반응형

URL Connection이란 정확히 어떤 것입니까?setDoOutput()이 영향을 미칩니까?

있다setDoOutput()URLConnection. 서류에 따르면 나는 해야 한다.

출력에 URL 연결을 사용하는 경우 DoOutput 플래그를 true로 설정하고 그렇지 않은 경우 false로 설정합니다.

지금 바로 이 문제에 직면해 있습니다. Java 런타임은 요청을 다음 주소로 변환합니다.POST한번만setDoOutput(true)호출되어 서버가 응답하는 것은GET요청한다.그것을 제거하면 어떤 일이 일어나는지 알고 싶다.setDoOutput(true)암호에서 추출합니다.

이게 정확히 어떤 영향을 미칠까요?로 설정한다고 가정합니다.false- 내가 지금 할 수 있는 것과 할 수 없는 것은 무엇인가?제가 이 공연을 할 수 있을까요?GET요청은 무엇입니까?이 방법의 맥락에서 "출력"이란 무엇입니까?

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 )

값을 파라미터로 사용하여 이 값을 설정합니다.doOutput이 URL의 필드지정된 값에 접속합니다.

URL 접속은 입력 및/또는 출력에 사용할 수 있습니다.출력에 URL 연결을 사용하는 경우 DoOutput 플래그를 true로 설정하고 그렇지 않은 경우 false로 설정합니다.기본값은 false 입니다.

언급URL : https://stackoverflow.com/questions/8587913/what-exactly-does-urlconnection-setdooutput-affect

반응형