HTTPie는 최신 웹 API용으로 구축된 명령줄 HTTP 클라이언트입니다. 직관적인 명령과 사용자 친화적인 인터페이스를 제공합니다. 이 가이드에서는 HTTPie의 기능과 이를 cURL과 비교하는 방법에 대해 알아봅니다. 또한 Linux 시스템에서 HTTPie를 설치하고 사용하여 시작하는 방법도 배우게 됩니다.
시작하기 전에
아직 계정을 만들지 않았다면 계정을 만드세요.
컴퓨팅 인스턴스 설정 및 보안 가이드를 따라 시스템을 업데이트하세요. 시간대를 설정하고, 호스트 이름을 구성하고, 제한된 사용자 계정을 만들고, SSH 액세스를 시행할 수도 있습니다.
참고하세요
이 가이드의 단계는 루트가 아닌 사용자를 위해 작성되었습니다. 높은 권한이 필요한 명령에는 sudo라는 접두사가 붙습니다. sudo 명령에 익숙하지 않은 경우 https://www.linuxmi.com/linux-sudo-command.html을 참조하세요.
HTTPie가 무엇인가요?
HTTPie는 cURL과 유사한 명령줄 HTTP 클라이언트입니다. 그러나 cURL과 달리 HTTPie는 최신 웹 API와 함께 사용하기 쉽도록 설계되었습니다. HTTPie의 구문은 웹 서비스 지향적입니다. 인터페이스는 cURL보다 더 읽기 쉽고 사용자 친화적입니다. 이러한 기능을 통해 HTTPie는 명령줄에서 웹 서비스를 테스트, 디버깅 또는 소비하기 위한 훌륭한 도구가 됩니다.
HTTPie 대 cURL
이 섹션에서는 특히 cURL이 많은 Linux 배포판에 기본적으로 설치되어 있기 때문에 cURL 대신 HTTPie를 사용하도록 선택할 수 있는 이유를 살펴보겠습니다. cURL은 광범위한 HTTP 요구 사항을 충족하기 위해 옵션을 확장하는 데 탁월합니다. HTTPie는 최신 웹 API에 대한 쿼리 지원에 중점을 둡니다. 웹 API를 사용하면 가장 관련성이 높은 세부 정보를 제공하고 필요하지 않은 정보는 숨깁니다. HTTPie의 출력을 통해 웹 서비스와 보다 직관적이고 명확하게 상호 작용할 수 있습니다.
웹 API, 특히 JSON 데이터를 사용하는 RESTful API를 사용하려면 HTTPie 사용을 고려해야 합니다. 또는 보다 일반적인 요구 사항에 맞게 HTTP 클라이언트를 원하는 경우 cURL을 사용하는 것이 좋습니다. cURL은 적응성을 높이기 위한 몇 가지 옵션을 제공합니다.
Curlie에 대한 자세한 내용은 Linux에서 Curlie 명령을 설치하고 사용하는 방법에서 알아볼 수 있습니다. Curlie는 HTTPie의 가독성과 cURL의 적응성을 갖춘 최신 명령줄 HTTP 클라이언트입니다.
HTTPie 설치 방법
HTTPie는 대부분의 주요 Linux 배포판의 패키지 관리자에서 사용할 수 있습니다. 다음은 다양한 배포판의 패키지 관리자를 통해 HTTPie를 설치할 때 사용할 수 있는 명령입니다.
Debian 및 Ubuntu에서는 다음 명령을 사용하세요.
sudo apt 설치 httpie
AlmaLinux 및 CentOS 운영 체제에서 다음 명령을 실행합니다.
sudo yum 설치 httpie
Fedora에서는 다음 명령을 사용하세요:
sudo dnf 설치 httpie
HTTPie를 설치한 후 http 명령을 사용하여 설치를 확인하고 액세스할 수 있습니다.
으아악
HTTPie 사용 방법
다른 HTTP 클라이언트에 익숙하다면 httppie가 배우기 더 쉬울 것입니다. 대부분의 기본 사용법은 cURL과 유사하지만 필요한 명령을 단순화할 수 있습니다.
다음 섹션에서는 웹 서비스를 사용할 때 HTTPie를 사용하여 가장 일반적인 HTTP 요청을 처리하는 방법을 소개합니다.
기본 사용법
GET 요청에서 HTTPie의 가장 기본적인 사용법을 볼 수 있습니다. cURL과 마찬가지로 HTTPie에서는 요청 방법을 지정할 필요가 없습니다. 명령과 요청 URL을 제공하기만 하면 됩니다.
HTTPie의 출력에는 기본적으로 응답 헤더 정보가 포함됩니다. 아래 스크린샷에서 볼 수 있듯이 구문 강조를 사용하여 응답을 더 쉽게 읽을 수 있도록 합니다.
httppie의 요청에 헤더 데이터를 추가하려면 아래 명령과 같이 URL 뒤에 데이터를 추가해야 합니다. 다음 예에서는 웹 서비스에서 임의의 "아빠 농담"을 가져옵니다. 명령에 --follow 옵션도 추가되어 HTTPie가 모든 URL 리디렉션을 따르도록 하는 것을 볼 수 있습니다(curl의 -L과 동일). HTTPie에는 출력에 리디렉션 응답 헤더 정보가 포함됩니다.
요청 방법
httppie에서 요청 메서드를 지정하려면 http 명령의 첫 번째 부분에 메서드 이름(GET, POST, PUT, DELETE 등)을 포함하면 됩니다. 이는 테스트를 위해 HTTPie의 자체 웹 서비스를 사용하는 다음 예제에서 볼 수 있습니다.
# 요청 정보 표시(반환 헤더 200 포함)
http www.linuxmi.com
# 상세 요청 표시(요청 및 반환 헤더 200 포함)
http -v www.linuxmi.com
# 헤더만 표시
http -h www.linuxmi.com
http –head www.linuxmi.com
http –헤더 www.linuxmi.com
http – 헤더 www.linuxmi.com
# 只显示Body
http -b www.linuxmi.com
http –body www.linuxmi.com
# 下载文件
http -d www.linuxmi.com
# 模拟提交表单
http -f POST www.linuxmi.com username=’linuxmi-user’
# 请求删除的方法
http DELETE www.linuxmi.com
# 传递JSON数据请求(默认就是JSON数据请求)
http PUT www.linuxmi.com username=’linuxmi-user’ password=’linuxmi-pwd’
# 如果JSON数据存在不是字符串则用:=分隔,例如
http PUT www.linuxmi.com username=’linuxmi-user’ password=’linuxmi-pwd’ age:=28 a:=true streets:='[“a”, “b”]’
# 模拟Form的Post请求, Content-Type: application/x-www-form-urlencoded; charset=utf-8
http –form POST www.linuxmi.com username=’linuxmi-user’
# 模拟Form的上传, Content-Type: multipart/form-data
http -f POST www.linuxmi.com/jobs username=’linuxmi-user’ file@~/test.pdf
# 修改请求头, 使用:分隔
http www.linuxmi.com User-Agent:mimvp-agent/1.0 ‘Cookie:a=b;b=c’ Referer:http://www.linuxmi.com/
# 认证
http -a username:password www.linuxmi.com
http –auth-type=digest -a username:password www.linuxmi.com
HTTP Prompt – 交互式命令行HTTP客户端
HTTP Prompt (或HTTP-prompt) 是基于HTTPie和prompt_toolkit构建的交互式命令行HTTP客户端,具有自动完成和语法突出显示功能。 它还支持自动cookie,OpenAPI/Swagger集成以及类Unix管道和输出重定向。 此外,它还提供了20多个可以使用的主题。
我们现在将解释如何在 Linux 中安装和简要使用 HTTP-prompt。
如何在Linux中安装HTTP Prompt
您可以使用PIP命令安装HTTP提示,就像常规Python包一样,如图所示。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ pip install http-prompt
pip install Pygments==2.5.2
如果您尝试在系统范围的Python上安装HTTP-prompt,则可能会收到一些权限错误。 不建议这样做,但如果这是您想要做的,只需使用sudo命令获得root权限。
或者,您可以使用–user选项将软件包安装到用户主目录中,如下所示:
pip install --user http-prompt
要升级HTTP提示符,请执行以下操作:
pip install -U http-prompt
如何在Linux中使用HTTP Prompt
要启动会话,只需运行http-prompt命令,如图所示。
从最后一个会话开始或http://localhost:8000
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ http-prompt Version: 2.1.0 http://localhost:8000> httpie post http POST http://localhost:8000 http://localhost:8000>
从给定的URL开始
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ http-prompt http://localhost:3000
从一些初始选项开始
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ http-prompt localhost:300/api --auth user:linuxmi username=linuxmi
要预览HTTP Prompt将如何调用HTTPie,请运行以下命令。
http://localhost:300/api> httpie post
http –auth=user:linuxmi POST http://localhost:300/api username=linuxmi
启动会话后,您可以交互式键入命令
您可以发送HTTP请求,输入一个HTTP方法,如下所示。
> head
> get
> post
> put
> patch
> delete
可以添加标头,查询字符串或正文参数,使用HTTPie中的语法。 这里有些例子:
# 设置 header
> Content-Type:application/json
# 查询字符串参数
> page==5
# body 参数
> username=linuxmi
> full_name=’www.linuxmi.com’
# 原始JSON中的body参数
> number:=18719
> is_ok:=true
> names:=[“linuxmi”,”com”]
> user:='{“username”: “linuxmi”, “password”: “linuxmi”}’
# 把所有东西都写成一行
> Content-Type:application/json page==5 username=linuxmi
您还可以添加HTTPie选项,如图所示。
> –form –auth user:pass
> –verify=no
或者
> –form –auth user:pass username=linuxidc Content-Type:application/json
要重置会话(清除所有参数和选项)或退出会话,请运行:
> rm * #重置会话
> exit #退出会话
有关更多信息和用法示例,请参阅HTTP-prompt文档:http://http-prompt.com/。
结论
그렇습니다! HTTP Prompt는 HTTPie의 완벽한 동반자입니다.
이제 HTTPie를 사용하여 웹 API에 요청을 보낼 수 있습니다. 더 고급 기능을 찾고 있다면 HTTPie에 대해 더 자세히 알아볼 때 찾을 수 있습니다. httppie의 기능에 대해 자세히 알아보려면 httppie의 공식 문서를 확인하고 http --help
명령을 참조하세요.
우리는 당신의 의견을 듣고 싶습니다. 아래 댓글로 HTTP 프롬프트와 HTTPie에 대한 생각을 공유하거나 질문을 남겨주세요.
위 내용은 Linux에서 HTTPie 및 HTTP 프롬프트를 설치하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!