简介
httpx 是由 github.com/encode 用 python 开发的现代化 HTTP 客户端和库。它功能丰富且兼容 requests,支持 HTTP/1.1 和 HTTP/2 协议,提供同步和异步 API,适用于各种 HTTP 请求场景。
x-cmd 提供的 httpx 为 httpx 项目的 httpx[cli],即 httpx 的命令行客户端。它能在命令行中发送 HTTP 请求,语法类似于 curl,但具备 Python 风格和强大的异步支持,非常适合开发者用于在调试 API 或执行 HTTP 操作时进行快速测试。
快速上手
1.安装并启动 httpx:
eval "$(curl https://get.x-cmd.com)" # 安装 x-cmd
x env use httpx # 使用 x-cmd 安装 httpx cli
2.发送 HTTP 请求:
httpx https://httpbin.org/get
httpx https://httpbin.org/post -m POST --data key value
httpx https://httpbin.org/post -m POST --json '{"key": "value"}'
3.高级功能特性,如下载文件:
httpx https://get.x-cmd.com --download install_xcmd.sh
功能特点
- 兼容 requests:提供类似 requests 的 API,并继承了 requests 的一些标准特性,易于迁移和使用。
- 支持同步和异步:提供同步和异步 API。
- 协议支持:支持 HTTP/1.1 和 HTTP/2。
- 应用请求:可直接对 WSGI 或 ASGI 应用进行请求。
- CLI 简单易用:httpx 能非常简单的发送各种 HTTP 请求,且语法类似于 curl,非常容易上手。
竞品和相关项目
- httpie:也是用 Python 实现的命令行 HTTP 客户端,专注于简化与 HTTP/HTTPS 服务的交互,设计更加直观和友好,特别适合开发人员、系统管理员和测试人员使用。
- curl:一款非常流行且功能强大的命令行工具,用于从命令行处理 HTTP、HTTPS 等多种协议的请求,支持文件传输、身份认证、代理等,适用于自动化脚本、调试 API、下载文件等多种场景。
- projectdiscovery/httpx:一款用 Go 开发的 HTTP 工具包。它是一个安全类的工具,是专为批量处理和高性能 HTTP 探测而设计,主要用于 HTTP 探测、Asset Discovery(资产发现)、信息收集等场景。
进一步探索
- GitHub - encode/httpx: A next generation HTTP client for Python.
- httpx 官网文档 :
https://www.python-httpx.org/
更多内容请查阅 :httpx | x-cmd pkg | 一个快速且可扩展的 HTTP 客户端,支持 HTTP/1.1 和 HTTP/2
转载请标明原文链接 :
https://www.x-cmd.com/pkg/httpx