English

xh — 모던 HTTP 클라이언트

Linux / 모던 CLI 도구 / xh.html

모던 CLI 도구원문등록 2026-01-19T18:00:00+09:00

💬 "xh 명령어"

xh는 curl을 대체하는 친절한 HTTP 명령줄 클라이언트입니다. 복잡한 인자 없이 xh example.com처럼 쓰면 JSON·헤더·상태 코드를 읽기 좋은 형태로 바로 보여줍니다.

Rust로 만들어졌으며, HTTPie 명령 스타일을 따르면서 더 빠르고 가볍습니다. 리다이렉트 자동 추적, JSON·폼 전송, 인증, 다운로드를 간결한 옵션으로 처리합니다.

  • 개념: 터미널에서 HTTP 요청을 보내고 응답을 보기 좋게 출력하는 클라이언트입니다.
  • 주요 기능: JSON/폼 전송, 인증, 헤더 지정, 리다이렉트 추적, 파일 다운로드를 지원합니다.
  • 장점: curl처럼 인자를 외울 필요 없이 짧은 명령으로 API를 호출하고 결과를 확인합니다.
  • 활용: REST API 점검, 웹 서비스 응답 확인, 인증 테스트에 사용합니다.

기본 사용법

xh는 기본이 GET이며, 인자로 키=값을 주면 자동으로 JSON으로 보냅니다.

1. 기본 요청

URL만 주면 GET 요청 결과를 예쁘게 보여줍니다.

xh example.com
xh example.com/users/1          # JSON 응답 확인

2. 데이터 보내기

키=값을 주면 JSON POST가 됩니다.

xh POST example.com/users name=John age:=30 email:=null
xh POST example.com login form==true username=admin password=secret

3. 인증·헤더·다운로드

토큰·헤더·파일 처리를 간단히 합니다.

xh example.com Authorization:"Bearer TOKEN"
xh --download example.com/file.zip
xh -v example.com   # 헤더까지 자세히

설치 및 다운로드

xh는 cargo·패키지 매니저·바이너리로 설치합니다. xh는 http 별칭도 제공합니다.

환경명령
cargocargo install xh
Ubuntu/Debian (패키지 있으면)sudo apt install xh
macOS (Homebrew)brew install xh
릴리스 바이너리github.com/ducaale/xh/releases

설치 확인은 xh --version. http·https 별칭을 쓰려면 설치 시 안내되는 심볼릭 링크를 만듭니다.

자주 쓰는 옵션

명령·키설명
POST/PUT/PATCHHTTP 메서드를 지정합니다
키:=값숫자·배열·null 등 JSON 타입으로 보냅니다
키==값쿼리스트링( URL 파라미터)으로 보냅니다
--download응답을 파일로 저장합니다
-v요청·응답 헤더까지 자세히 표시합니다

필수 명령어 조합 3가지

  • xh example.com/api/health — API 응답을 바로 확인
  • xh POST api/login username=admin — 폼/JSON 로그인 요청
  • xh --download example.com/file.zip — 파일 다운로드

💬 "실제 서버에서 xh를 사용하는 예시"

로컬 API를 점검하는 상황을 순서대로 정리했습니다.

1단계 · 서비스 응답 확인

서버가 살아있는지 확인합니다.

xh localhost:8080/health

2단계 · 인증 요청

토큰을 넣어 인증 엔드포인트를 호출합니다.

xh localhost:8080/api/me Authorization:"Bearer TOKEN"

3단계 · 결과 저장

응답을 파일로 남깁니다.

xh localhost:8080/api/list --download resp.json

실무에서는 이렇게 씁니다

1. 헬스체크

상황 — 배포 후 서비스 상태를 확인합니다.

xh localhost:8080/health

결과 — 상태 코드와 JSON 본문이 한눈에 보여 즉시 판단됩니다.

포인트 — curl 인자를 외우지 않고 빠르게 점검합니다.

2. 파라미터 테스트

상황 — 쿼리 조건을 바꿔가며 확인합니다.

xh 'example.com/api/items?limit==5&sort==desc'

결과 — 키==값으로 쿼리를 간단히 붙여 보냅니다.

포인트 — 여러 조합을 빠르게 시도해 API 동작을 확인합니다.

주의할 점

  • URL에 ?·&가 포함되면 따옴표로 감싸면 안전합니다.
  • 기본은 슬래시 없는 URL도 허용하지만, 정확한 경로를 쓰는 습관이 좋습니다.
  • 인증 토큰을 쓸 때 셸 히스토리에 남을 수 있으니 임시 파일·환경변수 활용을 고려합니다.