curl을 사용하여 서버와 통신하는 경우 아래와 같은 메시지와 에러가 발생할 수 있습니다.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Length Required</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Length Required</h2>
<hr><p>HTTP Error 411. The request must be chunked or have a content length.</p>
</BODY></HTML>
살펴보면
Content-Length에 대한 길이가 필요하다는 에러입니다. 확인해보니 curl로 POST 메소드로 요청할 때 데이터가 없으면 Content Length 에러가 나타날 수 있더군요.
! curl 411 에러 해결하는 방법
해결방법은 간단하며 아래처럼 빈 데이터를 보내거나 Content-Length를 헤더에 추가하는 방법입니다.
1. 빈 데이터값 추가
curl -d ""
2. Content-Length 헤더 추가
curl -H "Content-Length: 0"
추가 후 다시 curl을 요청하면 잘 동작합니다.