본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

xh

0

xh는 HTTPie의 뛰어난 설계를 기반으로 성능 향상에 초점을 맞춰 구현된, 친절하고 빠른 HTTP 요청 전송을 위한 오픈소스 커맨드라인 도구입니다.

개발네트워크디버깅요청자동화

소개

xh는 HTTPie의 뛰어난 설계를 기반으로 성능 향상에 초점을 맞춰 구현된, 친절하고 빠른 HTTP 요청 전송을 위한 오픈소스 커맨드라인 도구입니다. Rust로 개발되어 단일 바이너리로 제공되며, API 테스트 및 자동화 작업에 적합합니다.

상세정보

다양한 HTTP 메서드 지원

GET, POST, PUT, DELETE 등 주요 HTTP 메서드를 지원하며, 요청 바디 및 헤더를 직관적인 키-값 쌍으로 설정할 수 있습니다.

출력 처리 및 포맷팅

JSON 출력과 구문 하이라이트를 기본으로 지원하며, 응답 출력 형식과 색상 스타일을 제어하는 옵션이 제공됩니다. --print 옵션을 통해 응답 헤더, 바디, 메타데이터를 선택적으로 출력할 수 있습니다.

GraphQL 지원

별도의 플러그인 없이 GraphQL 쿼리를 직접 전송하고 테스트할 수 있습니다.

보안 및 프록시 설정

네이티브 TLS를 사용하여 보안 연결을 설정하고, various 인증 메커니즘(Basic, Bearer, Digest)과 프록시 사용을 지원합니다. SSL 검증 우회 및 사용자 지정 CA 번들 지정이 가능합니다.

세션 관리 및 리다이렉트

세션 파일을 생성하여 요청/응답 교환 상태를 유지할 수 있으며, 리다이렉트 추적과 제어 옵션을 제공합니다.

설치 및 기본 사용법

xh는 다양한 패키지 매니저를 통해 설치할 수 있습니다.

  • Windows (winget): winget install --id ducaale.xh --exact
  • Windows (Scoop): scoop install xh
  • Windows (Chocolatey): choco install xh
  • Linux 및 macOS (Homebrew): brew install xh
  • 범용 (Cargo): cargo install xh --locked (Rust 1.85 이상 필요)

설치 후 터미널에서 다음과 같은 명령으로 기본 요청을 보낼 수 있습니다.

# GET 요청 전송
xh httpbin.org/json

# POST 요청 및 JSON 바디 전송
xh httpbin.org/post name=ahmed age:=24

# 특정 헤더 포함 GET 요청
xh get httpbin.org/json x-api-key:12345

활용 예시

  • REST API 테스트: 개발자는 xh를 사용하여 로컬 또는 원격 REST API 엔드포인트에 빠르게 요청을 보내고 응답을 확인할 수 있습니다.
  • GraphQL 쿼리 디버깅: GraphQL 엔드포인트에 쿼리를 직접 전송하여 데이터 구조와 응답을 검증할 수 있습니다.
  • 스크립트 자동화: 셸 스크립트나 CI/CD 파이프라인에서 간단히 HTTP 요청을 보내 서비스 상태를 모니터링하거나 외부 서비스와 상호작용하는 데 사용할 수 있습니다.

지원 환경 및 요구사항

xh는 Windows, Linux, macOS를 지원하며, GitHub 릴리스 페이지에서 사전 빌드된 바이너리를 다운로드할 수 있습니다. 소스에서 직접 빌드하는 경우 Rust 개발 환경과 Rust 1.85 이상의 컴파일러가 필요합니다.

버전 및 업데이트

현재 배포 버전은 0.26.2이며, 최신 릴리스 정보는 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다.

제한 사항 및 확인사항

  • 일부 Linux 배포판(Debian 13, Ubuntu 25.04 이상) 및 macOS 패키지 매니저에서 제공되는 빌드는 native-tls만 사용하며, 특정 TLS 백엔드가 필요한 환경에서는 별도 설정이 필요할 수 있습니다.
  • Windows 사전 빌드 바이너리는 패키지 저장소에 반영되기까지 약간의 지연이 있을 수 있습니다.
  • HTTPie의 모든 기능을 완전히 구현하지는 않았으며, 플러그인 시스템은 지원하지 않습니다.

시스템 요구사항

소스에서 빌드하는 경우 Rust 1.85 이상이 필요합니다.