REST、GraphQL、WebSocket、SSE、Socket.IO、MQTTのリクエストを送信できる、Web・デスクトップ・CLI対応のオープンソースAPI開発エコシステム。
- スター
- 19,266
- フォーク
- 750
- 未解決の Issue
- 202
- 最終コミット
- 19 時間前
これは何?
Hurlは、シンプルなプレーンテキスト形式で記述したHTTPリクエストを実行するコマンドラインツールです。複数のリクエストを連鎖させたり、レスポンスから値を取得して後続のリクエストで再利用したりできます。また、XPath、JSONPathなどを使い、ヘッダーやボディに対するアサーションでレスポンスを検証できます。
データの取得だけでなく、HurlはHTTPセッションのテストにも使えます。ステータスコード、ヘッダー、Cookie、SHA-256ハッシュ、SSL証明書のプロパティ、リダイレクト、レスポンス時間に対するアサーションをサポートし、CI/CDパイプライン向けにテキスト、JUnit、TAP、JSON、HTML形式のレポートを生成できます。REST、SOAP、GraphQL、HTML、XML/JSON APIに対応しています。
HurlはRustで書かれており、HTTPエンジンとしてlibcurlを使用するため、--resolve、--connect-to、--proxyなどのcurlオプションを利用できます。ランタイム不要の単一バイナリとして配布され、リクエストをcurlコマンドとして出力することもできます。
主な機能
- 01複数のHTTPリクエストを連鎖できるプレーンテキスト形式のリクエストファイル。
- 02レスポンスから値を取得し、後続のリクエストで再利用できます。
- 03XPath、JSONPath、正規表現などの条件を使って、ヘッダーやボディをアサーションで検証できます。
- 04REST、SOAP、GraphQL、HTML、XML/JSON APIに対応しています。
- 05CIパイプライン向けに、テキスト、JUnit、TAP、JSON、HTML形式のレポートを生成します。
- 06libcurlを基盤とし、HTTP/2とHTTP/3、およびcurlオプションに対応しています。
ユースケース
- CI/CDパイプラインでAPIのスモークテストや統合テストを実行する。
- Webアプリケーションに対する複数段階のログインやCSRFフローをスクリプト化する。
- API開発中にレスポンスのステータス、ヘッダー、JSONフィールドを検証する。
- プロジェクト内にテキストファイルとして保存した、再現可能なHTTPリクエストを送信する。
トピック
よくある質問
- hurl とは?
- Hurlは、プレーンテキスト形式のファイルに記述したHTTPリクエストを実行・テストするコマンドラインツールです。 Hurlは、シンプルなプレーンテキスト形式で記述したHTTPリクエストを実行するコマンドラインツールです。複数のリクエストを連鎖させたり、レスポンスから値を取得して後続のリクエストで再利用したりできます。また、XPath、JSONPathなどを使い、ヘッダーやボディに対するアサーションでレスポンスを検証できます。
- hurl は無料で使えますか?ライセンスは?
- hurl は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hurl は今もメンテナンスされていますか?
- 活発にメンテナンス中。hurl の最終コミットは 2026年10月21日 です。
- hurl は何に使えますか?
- CI/CDパイプラインでAPIのスモークテストや統合テストを実行する。 Webアプリケーションに対する複数段階のログインやCSRFフローをスクリプト化する。 API開発中にレスポンスのステータス、ヘッダー、JSONフィールドを検証する。 プロジェクト内にテキストファイルとして保存した、再現可能なHTTPリクエストを送信する。
- hurl はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Orange-OpenSource/hurl
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
HTTPieの構文を多く引き継ぎ、起動が速い使いやすいコマンドラインHTTPクライアント。
eBPFで実際のトラフィックを記録し、コードを変更せずにテストやデータモックとして再生できる、オープンソースのAPI・統合テストツール。
コレクションをローカルのプレーンテキストファイルで管理する、PostmanやInsomniaに代わるオープンソースのAPIクライアント。
HTTP、GraphQL、gRPC、WebSocket、SSEのリクエストを、gitで管理できるプレーンな.httpファイルに保存するターミナルAPIクライアント。
Tauri、Rust、React製のデスクトップAPIクライアント。REST、GraphQL、WebSocket、SSE、gRPCに対応し、オフラインファーストでテレメトリーはありません。