1. 개요
Unirest를 사용할 때 Apache HttpClient에서 다음과 같은 쿠키 관련 경고가 출력될 수 있습니다.
3월 28, 2018 10:59:53 오전 org.apache.http.client.protocol.ResponseProcessCookies processCookies 경고: Invalid cookie header: "Set-Cookie: PM_CK_rcode=09440127; expires=Wed, 28 Mar 2018 02:59:54 GMT; path=/;". Invalid 'expires' attribute: Wed, 28 Mar 2018 02:59:54 GMT
이 경고는 응답의 Set-Cookie 헤더에 포함된 expires 값이 HttpClient의 쿠키 파서가 기대하는 형식과 맞지 않을 때 발생합니다. 요청 자체가 반드시 실패한다는 의미는 아니지만, 쿠키를 사용하지 않는 API 호출이라면 로그가 계속 쌓여 문제를 파악하기 어려워질 수 있습니다.
2. 방법
쿠키 처리가 필요하지 않은 요청이라면 HttpClient의 쿠키 정책을 IGNORE_COOKIES로 설정해 경고를 없앨 수 있습니다. 아래 코드는 Unirest가 사용할 HttpClient에 전역 요청 설정을 적용하는 예시입니다.
RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.IGNORE_COOKIES).build(); HttpClient httpclient = HttpClients.custom().setDefaultRequestConfig(globalConfig).build(); Unirest.setHttpClient(httpclient);
이 설정을 적용하면 HttpClient가 응답 쿠키를 해석하지 않으므로 잘못된 expires 속성으로 인한 경고가 출력되지 않습니다.
주의할 점
로그인 세션 유지, 장바구니, CSRF 토큰처럼 쿠키가 필요한 흐름에서는 이 방법을 적용하면 정상 동작하지 않을 수 있습니다. 해당 API가 쿠키에 의존하지 않는지 확인한 뒤 적용하는 것이 좋습니다.
적용 여부는 같은 요청을 한 번 더 실행해 로그에 Invalid cookie header 또는 Invalid 'expires' attribute 경고가 더 이상 출력되지 않는지 확인하면 됩니다.