Table of Contents |
---|
특징
httpie 는 python 으로 개발된 콘솔용 http client 유틸리티로 curl 대신 http 개발 및 디버깅 용도로 사용 가능하며 다음과 같은 특징이 있다.
...
pip 설치
Code Block wget https://bootstrap.pypa.io/get-pip.py python get-pip.py
httpie 설치
Code Block pip install --upgrade httpie
Info 사용자 계정으로 설치하려면
기본 사용
Code Block |
---|
http [flags] [METHOD] URL [ITEM [ITEM]] |
- flags flags : 실행시 전달할 옵션으로 – 로 시작(Ex: --json)
- METHOD : HTTP 메소드로 생략시 GET.
- URL: 연결할 url
http --help 를 실행하면 각 플래그별 상세한 설명을 볼 수 있음.
기본 연결
Code Block |
---|
http httpie.org |
...
Code Block |
---|
http -v --follow http://httpieexample.org |
--max-redirects=COUNT 옵션을 사용하면 최대 redirect 횟수를 지정할 수 있음.(기본값 30)
Code Block |
---|
http -v --max-redirects 5 --follow http://example.org |
Content 제외하고 Header만 출력
서버의 HTTP Response 를 디버깅 해야 할 경우 컨텐츠는 거추장스러우므로 --headers(-h) 옵션을 사용하면 헤더 정보만 출력함.
Code Block |
---|
http --headers http://example.org |
download
wget 처럼 다운로드 프로그램으로 사용
Code Block |
---|
http --download example.org/file |
SSL
SSL 인증서 검증 안 함
서버의 SSL 인증서에 문제가 있어서 HTTPS 통신에 문제가 있을 경우 --verify=no 옵션을 사용하면 인증서 검증 안함
Code Block |
---|
http --verify=no https://example.org |
SSL CA 인증서 지정
CA 인증서가 없어서 검증 에러가 날 경우 --verify 옵션뒤에 CA 인증서 번들 파일을 지정하여 검증 가능(curl 에 신뢰하는 인증기관 인증서(CA Cert) 추가하기 참고)
Code Block |
---|
http --verify=/ssl/custom_ca_bundle https://example.org |
SSL version
--ssl={ssl2.3,ssl3, tls1, tls1.1, tls1.2} 옵션으로 SSL 버전 지정
Code Block |
---|
http://httpie.org --ssl=ssl3 https://example.org |
HTTP Method
Code Block |
---|
http DELETE example.org/todos/7 |
Json
Code Block |
---|
http PUT example.org name=John email=john@example.org |
아래와 같이 JSON 요청으로 변환되서 전달
Panel |
---|
PUT / HTTP/1.1 Accept: application/json, */* Accept-Encoding: gzip, deflate Content-Type: application/json Host: example.org { "name": "John", "email": "john@example.org" } |
커스텀 Header 설정
커스텀 HTTP 헤더를 전송하려면 Header:Value
문법을 사용하면 됨:
...
Code Block |
---|
http --auth-type=digest -a username:password example.org |
같이보기
Ref
- https://github.com/jkbrzt/httpie
- https://orchestrate.io/blog/2014/06/20/curl-vs-httpie-http-apis/
- https://miteshshah.github.io/sysadmin/httpie-http-for-humans/
...