Repolode
seanmonstar

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. 1

    Cargo.toml に json feature を付けて reqwest と tokio を追加します

    reqwest = { version = "0.13", features = ["json"] }
  2. 2

    Cargo.toml に full feature set を付けて tokio を追加します

    tokio = { version = "1", features = ["full"] }
  3. 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 の数値は毎日更新されます。

関連プロジェクト