HTTP 客户端
使用 HTTP 插件发起 HTTP 请求。
此插件需要 Rust 版本至少为 **1.77.2**
平台 | 级别 | 备注 |
---|---|---|
windows | ||
linux | ||
macos | ||
android | ||
ios |
安装 HTTP 插件即可开始。
使用你的项目包管理器添加依赖项
npm run tauri add http
yarn run tauri add http
pnpm tauri add http
deno task tauri add http
bun tauri add http
cargo tauri add http
-
在
src-tauri
文件夹中运行以下命令,将插件添加到项目的Cargo.toml
依赖项中cargo add tauri-plugin-http -
修改
lib.rs
以初始化插件src-tauri/src/lib.rs #[cfg_attr(mobile, tauri::mobile_entry_point)]pub fn run() {tauri::Builder::default().plugin(tauri_plugin_http::init()).run(tauri::generate_context!()).expect("error while running tauri application");} -
如果你想在 JavaScript 中发起 HTTP 请求,也请安装 npm 包
npm install @tauri-apps/plugin-httpyarn add @tauri-apps/plugin-httppnpm add @tauri-apps/plugin-httpdeno add npm:@tauri-apps/plugin-httpbun add @tauri-apps/plugin-http
HTTP 插件在 Rust 中作为 reqwest 的重新导出,在 JavaScript 中均可用。
-
配置允许的 URL
src-tauri/capabilities/default.json {"permissions": [{"identifier": "http:default","allow": [{ "url": "https://*.tauri.app" }],"deny": [{ "url": "https://private.tauri.app" }]}]}更多信息请参见权限概述文档。
-
发送请求
fetch
方法尽可能接近并符合fetch
Web API。import { fetch } from '@tauri-apps/plugin-http';// Send a GET requestconst response = await fetch('http://test.tauri.app/data.json', {method: 'GET',});console.log(response.status); // e.g. 200console.log(response.statusText); // e.g. "OK"
在 Rust 中,可以使用插件重新导出的 reqwest
crate。更多详细信息请参阅 reqwest 文档。
use tauri_plugin_http::reqwest;
let res = reqwest::get("http://my.api.host/data.json").await;println!("{:?}", res.status()); // e.g. 200println!("{:?}", res.text().await); // e.g Ok("{ Content }")
默认权限
此权限集配置了 HTTP 插件可用的 fetch 操作类型。
这启用了所有 fetch 操作,但并未明确允许任何来源进行 fetch。这需要在使用前手动配置。
已授予权限
所有 fetch 操作均已启用。
此默认权限集包括以下内容
允许抓取
允许抓取取消
允许抓取读取正文
允许抓取发送
权限表
标识符 | 描述 |
---|---|
|
启用 fetch 命令,不带任何预配置范围。 |
|
拒绝 fetch 命令,不带任何预配置范围。 |
|
启用 fetch_cancel 命令,不带任何预配置范围。 |
|
拒绝 fetch_cancel 命令,不带任何预配置范围。 |
|
启用 fetch_read_body 命令,不带任何预配置范围。 |
|
拒绝 fetch_read_body 命令,不带任何预配置范围。 |
|
启用 fetch_send 命令,不带任何预配置范围。 |
|
拒绝 fetch_send 命令,不带任何预配置范围。 |
© 2025 Tauri 贡献者。CC-BY / MIT