ブロッキングソケットI/OでHTTP/HTTPSサーバーとクライアントを構築できる、C++11対応のシングルヘッダーライブラリ。
seanmonstar/reqwest
非同期・ブロッキングAPI、JSON、multipart、プロキシ、Cookie、rustls TLSに対応した、使いやすいRust製HTTPクライアント。
- スター
- 11,902
- フォーク
- 1,439
- 未解決の Issue
- 487
- 最終コミット
- 19 日前
これは何?
reqwestはRust向けのHTTPクライアントライブラリです。非同期クライアントとブロッキングクライアントの両方を提供しているため、Tokioベースの非同期プログラムでも、シンプルな同期コードでも利用できます。リクエストボディには通常のバイト列、JSON、URLエンコード形式のフォーム、multipartアップロードを指定でき、レスポンスは型付きの値にデコードできます。
リダイレクトポリシーを柔軟に設定できるほか、HTTPプロキシとCookieストアにも対応しています。HTTPSではデフォルトでrustlsを使用します。native-tls featureを有効にすると、WindowsとmacOSではOS標準のTLSスタック、LinuxではOpenSSLに切り替わります。また、OpenSSLを同梱するオプションも利用できます。このcrateはWASM向けにもコンパイルできます。
主な機能
- 01非同期クライアントとブロッキングクライアント
- 02JSON、URLエンコード形式、multipartのリクエストボディ
- 03カスタマイズ可能なリダイレクトポリシー
- 04HTTPプロキシ対応
- 05rustlsまたはシステム標準のTLSによるHTTPS
- 06CookieストアとWASM対応
ユースケース
- RustのサービスやCLIからREST APIやJSON APIを呼び出す
- multipartフォームリクエストでファイルをアップロードする
- 非同期ランタイムを使わず、小さなツールから同期的にHTTPリクエストを送る
クイックスタート
- 1
Cargo.toml に json feature を付けて reqwest と tokio を追加します
reqwest = { version = "0.13", features = ["json"] } - 2
Cargo.toml に full feature set を付けて tokio を追加します
tokio = { version = "1", features = ["full"] } - 3
README のサンプルコードを src/main.rs に書き込み、実行します
使う前に知っておきたいこと
- Linux で Native TLS を使用するには、OpenSSL をインストールするか、vendored feature を有効にする必要があります。
収録されている特集
トピック
よくある質問
- reqwest とは?
- 非同期・ブロッキングAPI、JSON、multipart、プロキシ、Cookie、rustls TLSに対応した、使いやすいRust製HTTPクライアント。 reqwestはRust向けのHTTPクライアントライブラリです。非同期クライアントとブロッキングクライアントの両方を提供しているため、Tokioベースの非同期プログラムでも、シンプルな同期コードでも利用できます。リクエストボディには通常のバイト列、JSON、URLエンコード形式のフォーム、multipartアップロードを指定でき、レスポンスは型付きの値にデコードできます。
- reqwest は無料で使えますか?ライセンスは?
- reqwest は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- reqwest は今もメンテナンスされていますか?
- 活発にメンテナンス中。reqwest の最終コミットは 2026年10月19日 です。
- reqwest は何に使えますか?
- RustのサービスやCLIからREST APIやJSON APIを呼び出す multipartフォームリクエストでファイルをアップロードする 非同期ランタイムを使わず、小さなツールから同期的にHTTPリクエストを送る
- reqwest のインストール方法は?
- Cargo.toml に json feature を付けて reqwest と tokio を追加します: reqwest = { version = "0.13", features = ["json"] } Cargo.toml に full feature set を付けて tokio を追加します: tokio = { version = "1", features = ["full"] } README のサンプルコードを src/main.rs に書き込み、実行します
- reqwest はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/seanmonstar/reqwest
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Tauri、Rust、React製のデスクトップAPIクライアント。REST、GraphQL、WebSocket、SSE、gRPCに対応し、オフラインファーストでテレメトリーはありません。
Hurlは、プレーンテキスト形式のファイルに記述したHTTPリクエストを実行・テストするコマンドラインツールです。
バージョン管理可能なYAMLコレクションでRESTリクエストを定義・実行できる、ターミナル向けHTTPクライアント(TUI)。
クイックメモ、JSON整形、HTTPリクエスト、エンコード、暗号化、QRコード、cronなどをまとめた開発者向けデスクトップツールボックス。
REST、GraphQL、WebSocket、SSE、Socket.IO、MQTTのリクエストを送信できる、Web・デスクトップ・CLI対応のオープンソースAPI開発エコシステム。