HTTP 客户端
使用 http 插件发出 HTTP 请求。
支持的平台
此插件需要至少 1.77.2 版本的 Rust
平台 | 级别 | 注释 |
---|---|---|
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 两种形式提供。
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
在 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 操作均已启用。
此默认权限集包括以下内容
allow-fetch
allow-fetch-cancel
allow-fetch-read-body
allow-fetch-send
权限表
标识符 | 描述 |
---|---|
|
启用 fetch 命令,无需任何预配置的作用域。 |
|
禁用 fetch 命令,无需任何预配置的作用域。 |
|
启用 fetch_cancel 命令,无需任何预配置的作用域。 |
|
禁用 fetch_cancel 命令,无需任何预配置的作用域。 |
|
启用 fetch_read_body 命令,无需任何预配置的作用域。 |
|
禁用 fetch_read_body 命令,无需任何预配置的作用域。 |
|
启用 fetch_send 命令,无需任何预配置的作用域。 |
|
禁用 fetch_send 命令,无需任何预配置的作用域。 |
© 2025 Tauri 贡献者。CC-BY / MIT