안드로이드개발

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 통신 힘들다....

 
 
 
 
 
 

댓글