안드로이드개발

HttpURLConnection 405 에러 해결하는 법(GET,POST 변경해도 안될 때)

아뵹젼 2021. 8. 11.

휴 두번다시 405 에러로 몇 시간의 삽질을 하지 않겠다는 다짐으로 글을 쓴다. 부들부들 🤬🤬🤬

 

 

 

보통 405 에러는 client 가 server 가 요청하지 않는 method 를 사용하였을 때 발생한다.

그래서 대부분의 구글링 결과로는 post <-> get 을 변경해주면 해결되었다고 한다.

 

 

 

그런데 나는 왜,,,, GET GET 인데도 안되냐고요,, 

서버에서 Request 하는 method 도 GET 이 분명하고, 나도 urlConn.setRequestMethod("GET")

을 설정함이 확실하였다.

그런데 계속해서 Url 의 response 를 받아들이는

new InputStreamReader(urlConn.getInputStream() 부분에서 java.io.FileNotFoundException 가 발생하고,

Status Code 는 405를 무한반복하였다.

 

 

 

 

한 두시간의 폭풍 검색 후 광명을 찾게 되었다. 뉘신지 모르겠지만 정말 감사합니다,,,,

 

urlConnection 을 출력으로 사용할 때에
urlConn.setDoOutput(true); 이 필수라고 하여 설정해놓았던 것이 화근이었다.
이렇게 true 값을 설정하면 내가 아무리 GET 메소드를 설정하여도, 메소드를 POST 로 준다는 것이었다.
저 한 줄을 지웠더니 감쪽같이 status code가 200 OK 를 내놓기 시작했다.....

 

나와 같은 힘듬을 겪고 있는 분이 이것으로 꼭 해결되었으면 좋겠다..

 

 

휴 HTTP 통신 힘들다....

 

 

 

 

 

 

댓글