ILoveCoffee, ILoveJava

apache HttpClient 로 request 시 403 forbidden 에러 발생

jeeyong 2020. 2. 13. 11:22

증상

- httpclient-4.2.3.jar 버전에서 오류 발생

- 일부 사이트(zendesk) 에서 제공했던 API를 호출하려고 할때 403 forbidden 에러와 함께 html body 소스가 리턴

- 일부 사이트(zendesk) 경우 www.cloudflare.com/ 를 이용하고 있고 cloudflare 에서 막는 것으로 보임

 

httpclient-4.4 를 사용하는 다른 프로젝트에서는 정상적으로 통신되어 httpclient 자체의 문제가 아닌 서버에서 설정으로 해결해야 하는 문제일 것으로 생각되었는데, 그것이 아니였음. 해당 버전(4.2.3) 에 문제가 있거나 현재 올라가 있는 라이브러리자체에 문제가 있는 것으로 보임.

 

해결

- Httpclient 대신 HttpsURLConnection 라이브러리를 이용하는 로직으로 변경

 

자세한 소스는 여기에.

https://gist.github.com/jeedy/990f1e79f8caa047b3562b29d382347f