HTTPie REST Client for CLI

HTTPie REST Client for CLI

2026, Jul 15    

API 개발 및 테스트를 위한 HTTP 클라이언트 HTTPie 에 대해 알아본다. curl 처럼 command line 에서 쓸 수 있고 터미널이 익숙하지 않은 유저를 위한 데스크탑 GUI 버전도 있다.

[2026-07-15 업데이트] HTTPie CLI는 개발이 정체되어 버전이 3.2.x에 머물러 있다. 여전히 사용하는 데는 문제가 없다. 또한 아래 설치 명령어 중 sudo echo ... > 형태는 리다이렉션에 sudo가 적용되지 않아 동작하지 않는 문제가 있어 sudo tee 방식으로 수정했다.

HTTPie CLI Tools

httpie 페이지를 참고하여 HTTPie 클라이언트를 설치한다.

공식 문서를 따라 아래와 같이 패키지 정보를 추가하고 apt 패키지 관리자로 설치한다.

# Install httpie
$ curl -SsL https://packages.httpie.io/deb/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/httpie.gpg

$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/httpie.gpg] https://packages.httpie.io/deb ./" | sudo tee /etc/apt/sources.list.d/httpie.list

$ sudo apt update
$ sudo apt install httpie

파이썬으로 만들어져 아래와 같이 pip 를 이용해서 설치할 수도 있다.

$ pip install httpie 

JSON 응답 포맷팅.

http 명령어로 기본으로는 curl 과 동일한 방식으로 사용할 수 있다.
curl 은 응답이 json 인 경우 jq 로 포맷팅을 해서 확인하곤 했지만 httpie는 기본으로 JSON 응답을 포맷팅 해서 보여준다.

❯ http https://api.ipify.org\?format\=json
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 23
Content-Type: application/json
Date: Sat, 14 Oct 2023 13:51:17 GMT
Server: nginx/1.25.1
Vary: Origin

{
    "ip": "222.99.205.168"
}

POST 요청 (JSON 데이터)

POST 요청시 key=value 형식으로 JSON 데이터를 추가할 수 있고 데이터가 있으면 자동으로 POST로 요청된다.

헤더는 싱클 쿼테이션에 : 로 구분한다.
JSON 데이터는 스트링 타입인 경우 = 로 구분한다.
문자열은 더블 쿼테이션으로 묶어준다.
문자열이 아닌 경우에는 싱글 쿼테이션에 := 로 구분한다.

$ http -v :15230/preprocess 'Content-Type: application/json' \
  text="(tx) 네 안녕하세요 고객센터입니다 (rx) 여보 (rx) 여보세 (rx) 예 예 예"  \
  speaker:='{"counselor": "(tx)", "customer": "(rx)"}' \
  apply_sentence_separation:=true

오프라인 모드

아래와 같이 오프라인 모드로 실제 전송은 하지 않고 만들어지는 데이터를 확인 할 수 있다.

❯ http --offline -s monokai https://api.ipify.org format\=json
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 18
Content-Type: application/json
Host: api.ipify.org
User-Agent: HTTPie/3.2.1

{
    "format": "json"
}

TLDR

curl + jq 조합이나 VSCodeREST CLIENT 를 쓰는게 더 편하지만 조금만 익숙해 지면 더 편하게 쓸 수 있을것 같은 느낌이 들어 정리해 본다.

플러그인 도 있다는데 다음에 알아보기로 ..

참고